neulab/tldr huggingface dataset:
Other arbitrary characters can also be encoded. For instance, combine:tree:3+blob:none and combine:tree%3A3+blob%3Anone are equivalent.
--no-filter Turn off any previous --filter= argument.
--filter-provided-objects Filter the list of explicitly provided objects, which would otherwise always be printed even if they did not match any of the filters. Only useful with --filter=.
--filter-print-omitted Only useful with --filter=; prints a list of the objects omitted by the filter. Object IDs are prefixed with a “~” character.
--missing=<missing-action> A debug option to help with future "partial clone" development. This option specifies how missing objects are handled.
The form --missing=error requests that rev-list stop with an error if a missing object is encountered. This is the default action.
The form --missing=allow-any will allow object traversal to continue if a missing object is encountered. Missing objects will silently be omitted from the results.
The form --missing=allow-promisor is like allow-any, but will only allow object traversal to continue for EXPECTED promisor missing objects. Unexpected missing objects will raise an error.
The form --missing=print is like allow-any, but will also print a list of the missing objects. Object IDs are prefixed with a “?” character.
--exclude-promisor-objects (For internal use only.) Prefilter object traversal at promisor boundary. This is used with partial clone. This is stronger than --missing=allow-promisor because it limits the traversal, rather than just silencing errors about missing objects.
--no-walk[=(sorted|unsorted)] Only show the given commits, but do not traverse their ancestors. This has no effect if a range is specified. If the argument unsorted is given, the commits are shown in the order they were given on the command line. Otherwise (if sorted or no argument was given), the commits are shown in reverse chronological order by commit time. Cannot be combined with --graph.
--do-walk Overrides a previous --no-walk.
Commit Formatting Using these options, git-rev-list(1) will act similar to the more specialized family of commit log tools: git-log(1), git-show(1), and git- whatchanged(1)
--pretty[=<format>], --format=<format> Pretty-print the contents of the commit logs in a given format, where <format> can be one of oneline, short, medium, full, fuller, reference, email, raw, format:<string> and tformat:<string>. When <format> is none of the above, and has %placeholder in it, it acts as if --pretty=tformat:<format> were given.
See the "PRETTY FORMATS" section for some additional details for each format. When =<format> part is omitted, it defaults to medium.
Note: you can specify the default pretty format in the repository configuration (see git-config(1)).
--abbrev-commit Instead of showing the full 40-byte hexadecimal commit object name, show a prefix that names the object uniquely. "--abbrev=<n>" (which also modifies diff output, if it is displayed) option can be used to specify the minimum length of the prefix.
This should make "--pretty=oneline" a whole lot more readable for people using 80-column terminals.
--no-abbrev-commit Show the full 40-byte hexadecimal commit object name. This negates --abbrev-commit, either explicit or implied by other options such as "--oneline". It also overrides the log.abbrevCommit variable.
--oneline This is a shorthand for "--pretty=oneline --abbrev-commit" used together.
--encoding=<encoding> Commit objects record the character encoding used for the log message in their encoding header; this option can be used to tell the command to re-code the commit log message in the encoding preferred by the user. For non plumbing commands this defaults to UTF-8. Note that if an object claims to be encoded in X and we are outputting in X, we will output the object verbatim; this means that invalid sequences in the original commit may be copied to the output. Likewise, if iconv(3) fails to convert the commit, we will quietly output the original object verbatim.
--expand-tabs=<n>, --expand-tabs, --no-expand-tabs Perform a tab expansion (replace each tab with enough spaces to fill to the next display column that is multiple of <n>) in the log message before showing it in the output.  --expand-tabs is a short-hand for --expand-tabs=8, and --no-expand-tabs is a short-hand for --expand-tabs=0, which disables tab expansion.
By default, tabs are expanded in pretty formats that indent the log message by 4 spaces (i.e.  medium, which is the default, full, and fuller).
--show-signature Check the validity of a signed commit object by passing the signature to gpg --verify and show the output.
--relative-date Synonym for --date=relative.
--date=<format> Only takes effect for dates shown in human-readable format, such as when using --pretty.  log.date config variable sets a default value for the log command’s --date option. By default, dates are shown in the original time zone (either committer’s or author’s). If -local is appended to the format (e.g., iso-local), the user’s local time zone is used instead.
--date=relative shows dates relative to the current time, e.g. “2 hours ago”. The -local option has no effect for --date=relative.
--date=local is an alias for --date=default-local.
--date=iso (or --date=iso8601) shows timestamps in a ISO 8601-like format. The differences to the strict ISO 8601 format are:
•   a space instead of the T date/time delimiter
•   a space between time and time zone
•   no colon between hours and minutes of the time zone
--date=iso-strict (or --date=iso8601-strict) shows timestamps in strict ISO 8601 format.
--date=rfc (or --date=rfc2822) shows timestamps in RFC 2822 format, often found in email messages.
--date=short shows only the date, but not the time, in YYYY-MM-DD format.
--date=raw shows the date as seconds since the epoch (1970-01-01 00:00:00 UTC), followed by a space, and then the timezone as an offset from UTC (a + or - with four digits; the first two are hours, and the second two are minutes). I.e., as if the timestamp were formatted with strftime("%s %z")). Note that the -local option does not affect the seconds-since-epoch value (which is always measured in UTC), but does switch the accompanying timezone value.
--date=human shows the timezone if the timezone does not match the current time-zone, and doesn’t print the whole date if that matches (ie skip printing year for dates that are "this year", but also skip the whole date itself if it’s in the last few days and we can just say what weekday it was). For older dates the hour and minute is also omitted.
--date=unix shows the date as a Unix epoch timestamp (seconds since 1970). As with --raw, this is always in UTC and therefore -local has no effect.
--date=format:...  feeds the format ...  to your system strftime, except for %z and %Z, which are handled internally. Use --date=format:%c to show the date in your system locale’s preferred format. See the strftime manual for a complete list of format placeholders. When using -local, the correct syntax is --date=format-local:....
--date=default is the default format, and is similar to --date=rfc2822, with a few exceptions:
•   there is no comma after the day-of-week
•   the time zone is omitted when the local time zone is used
--header Print the contents of the commit in raw-format; each record is separated with a NUL character.
--no-commit-header Suppress the header line containing "commit" and the object ID printed before the specified format. This has no effect on the built-in formats; only custom formats are affected.
--commit-header Overrides a previous --no-commit-header.
--parents Print also the parents of the commit (in the form "commit parent..."). Also enables parent rewriting, see History Simplification above.
--children Print also the children of the commit (in the form "commit child..."). Also enables parent rewriting, see History Simplification above.
--timestamp Print the raw commit timestamp.
--left-right Mark which side of a symmetric difference a commit is reachable from. Commits from the left side are prefixed with < and those from the right with >. If combined with --boundary, those commits are prefixed with -.
For example, if you have this topology:
y---b---b  branch B / \ / /   . /   / \ o---x---a---a  branch A
you would get an output like this:
$ git rev-list --left-right --boundary --pretty=oneline A...B
>bbbbbbb... 3rd on b >bbbbbbb... 2nd on b <aaaaaaa... 3rd on a <aaaaaaa... 2nd on a -yyyyyyy... 1st on b -xxxxxxx... 1st on a
--graph Draw a text-based graphical representation of the commit history on the left hand side of the output. This may cause extra lines to be printed in between commits, in order for the graph history to be drawn properly. Cannot be combined with --no-walk.
This enables parent rewriting, see History Simplification above.
This implies the --topo-order option by default, but the --date-order option may also be specified.
--show-linear-break[=<barrier>] When --graph is not used, all history branches are flattened which can make it hard to see that the two consecutive commits do not belong to a linear branch. This option puts a barrier in between them in that case. If <barrier> is specified, it is the string that will be shown instead of the default one.
--count Print a number stating how many commits would have been listed, and suppress all other output. When used together with --left-right, instead print the counts for left and right commits, separated by a tab. When used together with --cherry-mark, omit patch equivalent commits from these counts and print the count for equivalent commits separated by a tab.
If the commit is a merge, and if the pretty-format is not oneline, email or raw, an additional line is inserted before the Author: line. This line begins with "Merge: " and the hashes of ancestral commits are printed, separated by spaces. Note that the listed commits may not necessarily be the list of the direct parent commits if you have limited your view of history: for example, if you are only interested in changes related to a certain directory or file.
There are several built-in formats, and you can define additional formats by setting a pretty.<name> config option to either another format name, or a format: string, as described below (see git-config(1)). Here are the details of the built-in formats:
•   oneline
<hash> <title line>
This is designed to be as compact as possible.
•   short
commit <hash> Author: <author>
<title line>
•   medium
commit <hash> Author: <author> Date:   <author date>
<full commit message>
•   full
commit <hash> Author: <author> Commit: <committer>
•   fuller
commit <hash> Author:     <author> AuthorDate: <author date> Commit:     <committer> CommitDate: <committer date>
•   reference
<abbrev hash> (<title line>, <short author date>)
This format is used to refer to another commit in a commit message and is the same as --pretty='format:%C(auto)%h (%s, %ad)'. By default, the date is formatted with --date=short unless another --date option is explicitly specified. As with any format: with format placeholders, its output is not affected by other options like --decorate and --walk-reflogs.
•   email
From <hash> <date> From: <author> Date: <author date> Subject: [PATCH] <title line>
•   mboxrd
Like email, but lines in the commit message starting with "From " (preceded by zero or more ">") are quoted with ">" so they aren’t confused as starting a new commit.
•   raw
The raw format shows the entire commit exactly as stored in the commit object. Notably, the hashes are displayed in full, regardless of whether --abbrev or --no-abbrev are used, and parents information show the true parent commits, without taking grafts or history simplification into account. Note that this format affects the way commits are displayed, but not the way the diff is shown e.g. with git log --raw. To get full object names in a raw diff format, use --no-abbrev.
•   format:<string>
The format:<string> format allows you to specify which information you want to show. It works a little bit like printf format, with the notable exception that you get a newline with %n instead of \n.
E.g, format:"The author of %h was %an, %ar%nThe title was >>%s<<%n" would show something like this:
The author of fe6e0ee was Junio C Hamano, 23 hours ago The title was >>t4119: test autocomputing -p<n> for traditional diff input.<<
The placeholders are:
•   Placeholders that expand to a single literal character:
%n newline
%% a raw %
%x00 print a byte from a hex code
•   Placeholders that affect formatting of later placeholders:
%Cred switch color to red
%Cgreen switch color to green
%Cblue switch color to blue
%Creset reset color
%C(...) color specification, as described under Values in the "CONFIGURATION FILE" section of git-config(1). By default, colors are shown only when enabled for log output (by color.diff, color.ui, or --color, and respecting the auto settings of the former if we are going to a terminal). %C(auto,...)  is accepted as a historical synonym for the default (e.g., %C(auto,red)). Specifying %C(always,...)  will show the colors even when color is not otherwise enabled (though consider just using --color=always to enable color for the whole output, including this format and anything else git might color).  auto alone (i.e.  %C(auto)) will turn on auto coloring on the next placeholders until the color is switched again.
%m left (<), right (>) or boundary (-) mark
%w([<w>[,<i1>[,<i2>]]]) switch line wrapping, like the -w option of git-shortlog(1).
%<(<N>[,trunc|ltrunc|mtrunc]) make the next placeholder take at least N columns, padding spaces on the right if necessary. Optionally truncate at the beginning (ltrunc), the middle (mtrunc) or the end (trunc) if the output is longer than N columns. Note that truncating only works correctly with N >= 2.
%<|(<N>) make the next placeholder take at least until Nth columns, padding spaces on the right if necessary
%>(<N>), %>|(<N>) similar to %<(<N>), %<|(<N>) respectively, but padding spaces on the left
%>>(<N>), %>>|(<N>) similar to %>(<N>), %>|(<N>) respectively, except that if the next placeholder takes more spaces than given and there are spaces on its left, use those spaces
%><(<N>), %><|(<N>) similar to %<(<N>), %<|(<N>) respectively, but padding both sides (i.e. the text is centered)
•   Placeholders that expand to information extracted from the commit:
%H commit hash
%h abbreviated commit hash
%T tree hash
%t abbreviated tree hash
%P parent hashes
%p abbreviated parent hashes
%an author name
%aN author name (respecting .mailmap, see git-shortlog(1) or git- blame(1))
%ae author email
%aE author email (respecting .mailmap, see git-shortlog(1) or git-blame(1))
%al author email local-part (the part before the @ sign)
%aL author local-part (see %al) respecting .mailmap, see git- shortlog(1) or git-blame(1))
%ad author date (format respects --date= option)
%aD author date, RFC2822 style
%ar author date, relative
%at author date, UNIX timestamp
%ai author date, ISO 8601-like format
%aI author date, strict ISO 8601 format
%as author date, short format (YYYY-MM-DD)
%ah author date, human style (like the --date=human option of git-rev-list(1))
%cn committer name
%cN committer name (respecting .mailmap, see git-shortlog(1) or git-blame(1))
%ce committer email
%cE committer email (respecting .mailmap, see git-shortlog(1) or git-blame(1))
%cl committer email local-part (the part before the @ sign)
%cL committer local-part (see %cl) respecting .mailmap, see git- shortlog(1) or git-blame(1))
%cd committer date (format respects --date= option)
%cD committer date, RFC2822 style
%cr committer date, relative
%ct committer date, UNIX timestamp
%ci committer date, ISO 8601-like format
%cI committer date, strict ISO 8601 format
%cs committer date, short format (YYYY-MM-DD)
%ch committer date, human style (like the --date=human option of git-rev-list(1))
%d ref names, like the --decorate option of git-log(1)
%D ref names without the " (", ")" wrapping.
%(describe[:options]) human-readable name, like git-describe(1); empty string for undescribable commits. The describe string may be followed by a colon and zero or more comma-separated options. Descriptions can be inconsistent when tags are added or removed at the same time.
•   match=<pattern>: Only consider tags matching the given glob(7) pattern, excluding the "refs/tags/" prefix.
•   exclude=<pattern>: Do not consider tags matching the given glob(7) pattern, excluding the "refs/tags/" prefix.
%S ref name given on the command line by which the commit was reached (like git log --source), only works with git log
%e encoding
%s subject
%f sanitized subject line, suitable for a filename
%b body
%B raw body (unwrapped subject and body)
%GG raw verification message from GPG for a signed commit
%G? show "G" for a good (valid) signature, "B" for a bad signature, "U" for a good signature with unknown validity, "X" for a good signature that has expired, "Y" for a good signature made by an expired key, "R" for a good signature made by a revoked key, "E" if the signature cannot be checked (e.g. missing key) and "N" for no signature
%GS show the name of the signer for a signed commit
%GK show the key used to sign a signed commit
%GF show the fingerprint of the key used to sign a signed commit
%GP show the fingerprint of the primary key whose subkey was used to sign a signed commit
%GT show the trust level for the key used to sign a signed commit
%gD reflog selector, e.g., refs/stash@{1} or refs/stash@{2 minutes ago}; the format follows the rules described for the -g option. The portion before the @ is the refname as given on the command line (so git log -g refs/heads/master would yield refs/heads/master@{0}).
%gd shortened reflog selector; same as %gD, but the refname portion is shortened for human readability (so refs/heads/master becomes just master).
%gn reflog identity name
%gN reflog identity name (respecting .mailmap, see git- shortlog(1) or git-blame(1))
%ge reflog identity email
%gE reflog identity email (respecting .mailmap, see git- shortlog(1) or git-blame(1))
%gs reflog subject
%(trailers[:options]) display the trailers of the body as interpreted by git- interpret-trailers(1). The trailers string may be followed by a colon and zero or more comma-separated options. If any option is provided multiple times the last occurrence wins.
The boolean options accept an optional value [=<BOOL>]. The values true, false, on, off etc. are all accepted. See the "boolean" sub-section in "EXAMPLES" in git-config(1). If a boolean option is given with no value, it’s enabled.
•   key=<K>: only show trailers with specified key. Matching is done case-insensitively and trailing colon is optional. If option is given multiple times trailer lines matching any of the keys are shown. This option automatically enables the only option so that non-trailer lines in the trailer block are hidden. If that is not desired it can be disabled with only=false. E.g., %(trailers:key=Reviewed-by) shows trailer lines with key Reviewed-by.
•   only[=<BOOL>]: select whether non-trailer lines from the trailer block should be included.
•   separator=<SEP>: specify a separator inserted between trailer lines. When this option is not given each trailer line is terminated with a line feed character. The string SEP may contain the literal formatting codes described above. To use comma as separator one must use %x2C as it would otherwise be parsed as next option. E.g., %(trailers:key=Ticket,separator=%x2C ) shows all trailer lines whose key is "Ticket" separated by a comma and a space.
•   unfold[=<BOOL>]: make it behave as if interpret-trailer’s --unfold option was given. E.g., %(trailers:only,unfold=true) unfolds and shows all trailer lines.
•   keyonly[=<BOOL>]: only show the key part of the trailer.
•   valueonly[=<BOOL>]: only show the value part of the trailer.
•   key_value_separator=<SEP>: specify a separator inserted between trailer lines. When this option is not given each trailer key-value pair is separated by ": ". Otherwise it shares the same semantics as separator=<SEP> above.
Note Some placeholders may depend on other options given to the revision traversal engine. For example, the %g* reflog options will insert an empty string unless we are traversing reflog entries (e.g., by git log -g). The %d and %D placeholders will use the "short" decoration format if --decorate was not already provided on the command line.
If you add a + (plus sign) after % of a placeholder, a line-feed is inserted immediately before the expansion if and only if the placeholder expands to a non-empty string.
If you add a - (minus sign) after % of a placeholder, all consecutive line-feeds immediately preceding the expansion are deleted if and only if the placeholder expands to an empty string.
If you add a ` ` (space) after % of a placeholder, a space is inserted immediately before the expansion if and only if the placeholder expands to a non-empty string.
•   tformat:
The tformat: format works exactly like format:, except that it provides "terminator" semantics instead of "separator" semantics. In other words, each commit has the message terminator character (usually a newline) appended, rather than a separator placed between entries. This means that the final entry of a single-line format will be properly terminated with a new line, just as the "oneline" format does. For example:
$ git log -2 --pretty=format:%h 4da45bef \ | perl -pe '$_ .= " -- NO NEWLINE\n" unless /\n/' 4da45be 7134973 -- NO NEWLINE
$ git log -2 --pretty=tformat:%h 4da45bef \ | perl -pe '$_ .= " -- NO NEWLINE\n" unless /\n/' 4da45be 7134973
In addition, any unrecognized string that has a % in it is interpreted as if it has tformat: in front of it. For example, these two are equivalent:
$ git log -2 --pretty=tformat:%h 4da45bef $ git log -2 --pretty=%h 4da45bef
•   Print the list of commits reachable from the current branch.
git rev-list HEAD
•   Print the list of commits on this branch, but not present in the upstream branch.
git rev-list @{upstream}..HEAD
•   Format commits with their author and commit message (see also the porcelain git-log(1)).
git rev-list --format=medium HEAD
•   Format commits along with their diffs (see also the porcelain git- log(1), which can do this in a single process).
git rev-list HEAD | git diff-tree --stdin --format=medium -p
•   Print the list of commits on the current branch that touched any file in the Documentation directory.
git rev-list HEAD -- Documentation/
•   Print the list of commits authored by you in the past year, on any branch, tag, or other ref.
git rev-list --author=you@example.com --since=1.year.ago --all
•   Print the list of objects reachable from the current branch (i.e., all commits and the blobs and trees they contain).
git rev-list --objects HEAD
•   Compare the disk size of all reachable objects, versus those reachable from reflogs, versus the total packed size. This can tell you whether running git repack -ad might reduce the repository size (by dropping unreachable objects), and whether expiring reflogs might help.
# reachable objects git rev-list --disk-usage --objects --all # plus reflogs git rev-list --disk-usage --objects --all --reflog # total disk size used du -c .git/objects/pack/*.pack .git/objects/??/* # alternative to du: add up "size" and "size-pack" fields git count-objects -v
•   Report the disk size of each branch, not including objects used by the current branch. This can find outliers that are contributing to a bloated repository size (e.g., because somebody accidentally committed large build artifacts).
git for-each-ref --format='%(refname)' | while read branch do size=$(git rev-list --disk-usage --objects HEAD..$branch) echo "$size $branch" done | sort -n
•   Compare the on-disk size of branches in one group of refs, excluding another. If you co-mingle objects from multiple remotes in a single repository, this can show which remotes are contributing to the repository size (taking the size of origin as a baseline).
git rev-list --disk-usage --objects --remotes=$suspect --not --remotes=origin
phpcbf(1)                    General Commands Manual                   phpcbf(1)
phpcbf - automatically fix errors found by PHPCS
phpcbf [-nwli] [-d key[=value]] [--ignore-annotations] [--bootstrap=bootstrap] [--standard=standard] [--sniffs=sniffs] [--exclude=sniffs] [--suffix=suffix] [--severity=severity] [--error-severity=severity] [--warning-severity=severity] [--tab-width=tabWidth] [--encoding=encoding] [--parallel=processes] [--basepath=basepath] [--extensions=extensions] [--ignore=patterns] [--stdin-path=stdinPath] [--file-list=fileList] file ...
phpcbf (or PHP Code Beautifier and Fixer) is a PHP script to automatically fix as many sniff violations as possible.
A path to strip from the front of file paths inside reports
A comma separated list of files to run before processing starts
One or more files and/or directories to fix
A file containing a list of files and/or directories to check (one per line)
The encoding of the files being fixed (default is iso-8859-1)
A comma separated list of file extensions to fix.  The type of the file can be specified using: ext/type; e.g., module/php,es/js
A comma separated list of patterns to ignore files and directories
How many files should be fixed simultaneously (default is 1)
severity
The minimum severity required to fix an error or warning
A comma separated list of sniff codes to include or exclude from fixing (all sniffs must be part of the specified standard)
The name or path of the coding standard to use
stdinPath
If processing STDIN, the file path that STDIN will be processed as
Write modified files to a filename using this suffix ("diff" and "patch" are not used in this mode)
tabWidth
The number of spaces each tab represents
Do not fix warnings (shortcut for --warning-severity=0)
Fix both warnings and errors (on by default)
Local directory only, no recursion
Show progress of the run
Quiet mode; disables progress and verbose output
Print processed files
-vv
Print ruleset and token output
Print sniff processing information
Show a list of installed coding standards
Set the key php.ini value to value or true if value is omitted
Print the help message
Print version information
--ignore-annotations
Ignore all phpcs: annotations in code comments
phpcs(1)
CHGRP(1)                          User Commands                         CHGRP(1)
chgrp - change group ownership
chgrp [OPTION]... GROUP FILE... chgrp [OPTION]... --reference=RFILE FILE...
Change the group of each FILE to GROUP.  With --reference, change the group of each FILE to that of RFILE.
-c, --changes like verbose but report only when a change is made
-f, --silent, --quiet suppress most error messages
-v, --verbose output a diagnostic for every file processed
--dereference affect the referent of each symbolic link (this is the default), rather than the symbolic link itself
-h, --no-dereference affect symbolic links instead of any referenced file (useful only on systems that can change the ownership of a symlink)
--no-preserve-root do not treat '/' specially (the default)
--preserve-root fail to operate recursively on '/'
--reference=RFILE use RFILE's group rather than specifying a GROUP value
-R, --recursive operate on files and directories recursively
The following options modify how a hierarchy is traversed when the -R option is also specified.  If more than one is specified, only the final one takes effect.
-H     if a command line argument is a symbolic link to a directory, traverse it
-L     traverse every symbolic link to a directory encountered
-P     do not traverse any symbolic links (default)
chgrp staff /u Change the group of /u to "staff".
chgrp -hR staff /u Change the group of /u and subfiles to "staff".
Written by David MacKenzie and Jim Meyering.
chown(1), chown(2)
Full documentation <https://www.gnu.org/software/coreutils/chgrp> or available locally via: info '(coreutils) chgrp invocation'
MITMDUMP(1)                                                          MITMDUMP(1)
mitmdump - a man-in-the-middle proxy with a command-line interface
mitmdump [options] [filter]
mitmdump is the command-line companion to mitmproxy.  It provides tcpdump-like functionality to let you view, record, and programmatically transform HTTP traffic.
Positional Arguments: filter Filter.
Optional Arguments: -h, --help Show this help message and exit.
--conf CONFIG_FILE Config file path.
--version Show program's version number and exit.
--sysinfo Show system info and exit.
--shortversion Show program's short version number and exit.
--anticache Strip out request headers that might cause the server to return 304-not-modified.
--cadir CA_DIR Location of the default mitmproxy CA files.  (Default: ~/.mitmproxy)
--host Use the Host header to construct URLs for display.
-q, --quiet Quiet.
-r RFILE, --read-flows RFILE Read flows from file.
-s script.py --bar , --script script.py --bar Run a script.  Surround with quotes to pass script arguments.  Can be passed multiple times.
-t FILTER, --stickycookie FILTER Set sticky cookie filter.  Matched against requests.
-u FILTER, --stickyauth FILTER Set sticky auth filter.  Matched against requests.
-v, --verbose Increase log verbosity.
-w OUTFILE, --wfile OUTFILE Write flows to file.
-a OUTFILE, --afile OUTFILE Append flows to file.
-z, --anticomp Try to convince servers to send us un-compressed data.
-Z SIZE, --body-size-limit SIZE Byte size limit of HTTP request and response bodies.  Understands k/m/g suffixes, e.g.  3m for 3 megabytes.
--stream SIZE Stream data to the client if response body exceeds the given threshold.  If streamed, the body will not be stored in any way. Understands k/m/g suffixes, e.g.  3m for 3 megabytes.
--upstream-auth UPSTREAM_AUTH Proxy Authentication: username:password
--keepserving Continue serving after client playback or file read.  We exit by default.
-d, --detail Increase flow detail display level.  Can be passed multiple times.
Proxy Modes: -R REVERSE_PROXY, --reverse REVERSE_PROXY Forward all requests to upstream HTTP server: http[s]://host[:port].  Clients can always connect both via HTTPS and HTTP, the connection to the server is determined by the specified scheme.
--socks Set SOCKS5 proxy mode.
-T, --transparent Set transparent proxy mode.
-U UPSTREAM_PROXY, --upstream UPSTREAM_PROXY Forward all requests to upstream proxy server: http://host[:port]
Proxy Options: -b ADDR, --bind-address ADDR Address to bind proxy to (defaults to all interfaces).
-I HOST, --ignore HOST Ignore host and forward all traffic without processing it.  In transparent mode, it is recommended to use an IP address (range), not the hostname.  In regular mode, only SSL traffic is ignored and the hostname should be used.  The supplied value is interpreted as a regular expression and matched on the ip or the hostname.  Can be passed multiple times.
--tcp HOST Generic TCP SSL proxy mode for all hosts that match the pattern. Similar to --ignore, but SSL connections are intercepted.  The communication contents are printed to the log in verbose mode.
-n, --no-server Don't start a proxy server.
-p PORT, --port PORT Proxy service port.
--no-http2 Explicitly disable HTTP/2 support.  If your OpenSSL version supports ALPN, HTTP/2 is enabled by default.
--raw-tcp | --no-raw-tcp Explicitly enable/disable experimental raw tcp support.  Disabled by default.  Default value will change in a future version.
--websockets | --no-websockets Explicitly enable/disable experimental WebSocket support. Disabled by default as messages are only printed to the event log and not retained.  Default value will change in a future version.
--spoof-source-address Use the client's IP for server-side connections.
SSL: --cert SPEC Add an SSL certificate.  SPEC is of the form "[domain=]path".  The domain may include a wildcard, and is equal to "*" if not specified.  The file at path is a certificate in PEM format.  If a private key is included in the PEM, it is used, otherwise the default key in the conf dir is used.  The PEM file should contain the full certificate chain, with the leaf certificate as the first entry.  Can be passed multiple times.
--ciphers-client CIPHERS_CLIENT Set supported ciphers for client connections.  (OpenSSL Syntax)
--ciphers-server CIPHERS_SERVER Set supported ciphers for server connections.  (OpenSSL Syntax)
--client-certs CLIENT_CERTS Client certificate file or directory.
--no-upstream-cert Don't connect to upstream server to look up certificate details.
--add-upstream-certs-to-client-chain Add all certificates of the upstream server to the certificate chain that will be served to the proxy client, as extras.
--insecure Do not verify upstream server SSL/TLS certificates.
--upstream-trusted-cadir CA_DIR Path to a directory of trusted CA certificates for upstream server verification prepared using the c_rehash tool.
--upstream-trusted-ca CA_CERT Path to a PEM formatted trusted CA certificate.
--ssl-version-client {all|TLSv1_2|secure|TLSv1_1|TLSv1|SSLv3|SSLv2} Set supported SSL/TLS versions for client connections.  SSLv2, SSLv3 and all are INSECURE.  Defaults to secure, which is TLS1.0+.
--ssl-version-server {all|TLSv1_2|secure|TLSv1_1|TLSv1|SSLv3|SSLv2} Set supported SSL/TLS versions for server connections.  SSLv2, SSLv3 and all are INSECURE.  Defaults to secure, which is TLS1.0+.
Onboarding App: --noapp Disable the mitmproxy onboarding app.
--app-host HOST Domain to serve the onboarding app from.  For transparent mode, use an IP when a DNS entry for the app domain is not present. (Default: mitm.it)
--app-port PORT Port to serve the onboarding app from.  (Default: 80)
Client Replay: -c PATH, --client-replay PATH Replay client requests from a saved file.
Server Replay: -S PATH, --server-replay PATH Replay server responses from a saved file.
-k, --replay-kill-extra Kill extra requests during replay.
--server-replay-use-header HEADER Request header to be considered during replay.  Can be passed multiple times.
--norefresh Disable response refresh, which updates times in cookies and headers for replayed responses.
--no-pop Disable response pop from response flow.  This makes it possible to replay same response multiple times.
--replay-ignore-content Ignore request's content while searching for a saved flow to replay.
--replay-ignore-payload-param PARAM Request's payload parameter (application/x-www-form-urlencoded or multipart/form-data) to be ignored while searching for a saved flow to replay.  Can be passed multiple times.
--replay-ignore-param PARAM Request's parameter to be ignored while searching for a saved flow to replay.  Can be passed multiple times.
--replay-ignore-host Ignore request's destination host while searching for a saved flow to replay.
Replacements: Replacements are of the form "/pattern/regex/replacement", where the separator can be any character.  Please see the documentation for more information.
--replace PATTERN Replacement pattern.
--replace-from-file PATH Replacement pattern, where the replacement clause is a path to a file.
Set Headers: Header specifications are of the form "/pattern/header/value", where the separator can be any character.  Please see the documentation for more information.
--setheader PATTERN Header set pattern.
Proxy Authentication: Specify which users are allowed to access the proxy and the method used for authenticating them.
--nonanonymous Allow access to any user long as a credentials are specified.
--singleuser USER Allows access to a a single user, specified in the form username:password.
--htpasswd PATH Allow access to users specified in an Apache htpasswd file.
~/.mitmproxy/mitmdump.conf Settings for mitmdump.  This file can contain any options supported by mitmdump.
~/.mitmproxy/common.conf Settings shared between all command-line tools.  Settings in this file are overridden by those in the tool-specific files.  Only options shared by mitmproxy and mitmdump should be used in this file.
Options that start with -- (e.g.  --version) can also be set in a config file (~/.mitmproxy/common.conf or ~/.mitmproxy/mitmdump.conf or specified via --conf).  Config file syntax allows:
key=value, flag=true, stuff=[a,b,c]
(for details, see syntax at <https://goo.gl/R74nmi>).  If an option is specified in more than one place, then command-line values override config file values which override defaults.
mitmdump was written by Aldo Cortesi.
This manual page was written for the Debian GNU/Linux system, but its use elsewhere is encouraged.
mitmdump documentation and examples are available online at <http://docs.mitmproxy.org/en/latest/mitmdump.html>.
OCAMLC(1)                    General Commands Manual                   OCAMLC(1)
ocamlc - The OCaml bytecode compiler
ocamlc [ options ] filename ...
ocamlc.opt [ options ] filename ...
The OCaml bytecode compiler ocamlc(1) compiles OCaml source files to bytecode object files and links these object files to produce standalone bytecode executable files.  These executable files are then run by the bytecode interpreter ocamlrun(1).
The ocamlc(1) command has a command-line interface similar to the one of most C compilers. It accepts several types of arguments and processes them sequentially, after all options have been processed:
Arguments ending in .mli are taken to be source files for compilation unit interfaces. Interfaces specify the names exported by compilation units: they declare value names with their types, define public data types, declare abstract data types, and so on. From the file x.mli, the ocamlc(1) compiler produces a compiled interface in the file x.cmi.
Arguments ending in .ml are taken to be source files for compilation unit implementations. Implementations provide definitions for the names exported by the unit, and also contain expressions to be evaluated for their side-effects.  From the file x.ml, the ocamlc(1) compiler produces compiled object bytecode in the file x.cmo.
If the interface file x.mli exists, the implementation x.ml is checked against the corresponding compiled interface x.cmi, which is assumed to exist. If no interface x.mli is provided, the compilation of x.ml produces a compiled interface file x.cmi in addition to the compiled object code file x.cmo.  The file x.cmi produced corresponds to an interface that exports everything that is defined in the implementation x.ml.
Arguments ending in .cmo are taken to be compiled object bytecode.  These files are linked together, along with the object files obtained by compiling .ml arguments (if any), and the OCaml standard library, to produce a standalone executable program. The order in which .cmo and.ml arguments are presented on the command line is relevant: compilation units are initialized in that order at run-time, and it is a link-time error to use a component of a unit before having initialized it. Hence, a given x.cmo file must come before all .cmo files that refer to the unit x.
Arguments ending in .cma are taken to be libraries of object bytecode.  A library of object bytecode packs in a single file a set of object bytecode files (.cmo files). Libraries are built with ocamlc -a (see the description of the -a option below). The object files contained in the library are linked as regular .cmo files (see above), in the order specified when the .cma file was built. The only difference is that if an object file contained in a library is not referenced anywhere in the program, then it is not linked in.
Arguments ending in .c are passed to the C compiler, which generates a .o object file. This object file is linked with the program if the -custom flag is set (see the description of -custom below).
Arguments ending in .o or .a are assumed to be C object files and libraries. They are passed to the C linker when linking in -custom mode (see the description of -custom below).
Arguments ending in .so are assumed to be C shared libraries (DLLs). During linking, they are searched for external C functions referenced from the OCaml code, and their names are written in the generated bytecode executable.  The run-time system ocamlrun(1) then loads them dynamically at program start-up time.
The output of the linking phase is a file containing compiled bytecode that can be executed by the OCaml bytecode interpreter: the command ocamlrun(1).  If caml.out is the name of the file produced by the linking phase, the command ocamlrun caml.out arg1  arg2 ... argn executes the compiled code contained in caml.out, passing it as arguments the character strings arg1 to argn.  (See ocamlrun(1) for more details.)
On most systems, the file produced by the linking phase can be run directly, as in: ./caml.out arg1  arg2 ... argn.  The produced file has the executable bit set, and it manages to launch the bytecode interpreter by itself.
ocamlc.opt is the same compiler as ocamlc, but compiled with the native- code compiler ocamlopt(1).  Thus, it behaves exactly like ocamlc, but compiles faster.  ocamlc.opt may not be available in all installations of OCaml.
The following command-line options are recognized by ocamlc(1).
-a     Build a library (.cma file) with the object files (.cmo files) given on the command line, instead of linking them into an executable file. The name of the library must be set with the -o option.
If -custom, -cclib or -ccopt options are passed on the command line, these options are stored in the resulting .cma library. Then, linking with this library automatically adds back the -custom, -cclib and -ccopt options as if they had been provided on the command line, unless the -noautolink option is given. Additionally, a substring $CAMLORIGIN inside a  -ccopt options will be replaced by the full path to the .cma library, excluding the filename.  -absname Show absolute filenames in error messages.
-annot Deprecated since 4.11. Please use -bin-annot instead.
-bin-annot Dump detailed information about the compilation (types, bindings, tail-calls, etc) in binary format. The information for file src.ml is put into file src.cmt.  In case of a type error, dump all the information inferred by the type-checker before the error.  The annotation files produced by -bin-annot contain more information and are much more compact than the files produced by -annot.
-c     Compile only. Suppress the linking phase of the compilation. Source code files are turned into compiled files, but no executable file is produced. This option is useful to compile modules separately.
-cc ccomp Use ccomp as the C linker when linking in "custom runtime" mode (see the -custom option) and as the C compiler for compiling .c source files.
-cclib -llibname Pass the -llibname option to the C linker when linking in "custom runtime" mode (see the -custom option). This causes the given C library to be linked with the program.
-ccopt option Pass the given option to the C compiler and linker, when linking in "custom runtime" mode (see the -custom option). For instance, -ccopt -Ldir causes the C linker to search for C libraries in directory dir.
-color mode Enable or disable colors in compiler messages (especially warnings and errors).  The following modes are supported:
auto use heuristics to enable colors only if the output supports them (an ANSI-compatible tty terminal);
always enable colors unconditionally;
never disable color output.
The default setting is auto, and the current heuristic checks that the "TERM" environment variable exists and is not empty or "dumb", and that isatty(stderr) holds.
The environment variable "OCAML_COLOR" is considered if -color is not provided. Its values are auto/always/never as above.
-error-style mode Control the way error messages and warnings are printed.  The following modes are supported:
short only print the error and its location;
contextual like "short", but also display the source code snippet corresponding to the location of the error.
The default setting is contextual.
The environment variable "OCAML_ERROR_STYLE" is considered if -error-style is not provided. Its values are short/contextual as above.
-compat-32 Check that the generated bytecode executable can run on 32-bit platforms and signal an error if it cannot. This is useful when compiling bytecode on a 64-bit machine.
-config Print the version number of ocamlc(1) and a detailed summary of its configuration, then exit.
-config-var Print the value of a specific configuration variable from the -config output, then exit. If the variable does not exist, the exit code is non-zero.
-custom Link in "custom runtime" mode. In the default linking mode, the linker produces bytecode that is intended to be executed with the shared runtime system, ocamlrun(1).  In the custom runtime mode, the linker produces an output file that contains both the runtime system and the bytecode for the program. The resulting file is larger, but it can be executed directly, even if the ocamlrun(1) command is not installed. Moreover, the "custom runtime" mode enables linking OCaml code with user-defined C functions.
Never use the strip(1) command on executables produced by ocamlc -custom, this would remove the bytecode part of the executable.
Security warning: never set the "setuid" or "setgid" bits on executables produced by ocamlc -custom, this would make them vulnerable to attacks.
-depend ocamldep-args Compute dependencies, as ocamldep would do.
-dllib -llibname Arrange for the C shared library dlllibname.so to be loaded dynamically by the run-time system ocamlrun(1) at program start-up time.
-dllpath dir Adds the directory dir to the run-time search path for shared C libraries.  At link-time, shared libraries are searched in the standard search path (the one corresponding to the -I option). The -dllpath option simply stores dir in the produced executable file, where ocamlrun(1) can find it and use it.
-for-pack module-path Generate an object file (.cmo file) that can later be included as a sub-module (with the given access path) of a compilation unit constructed with -pack.  For instance, ocamlc -for-pack P -c A.ml will generate a.cmo that can later be used with ocamlc -pack -o P.cmo a.cmo.  Note: you can still pack a module that was compiled without -for-pack but in this case exceptions will be printed with the wrong names.
-g     Add debugging information while compiling and linking. This option is required in order to be able to debug the program with ocamldebug(1) and to produce stack backtraces when the program terminates on an uncaught exception.
-i     Cause the compiler to print all defined names (with their inferred types or their definitions) when compiling an implementation (.ml file). No compiled files (.cmo and .cmi files) are produced.  This can be useful to check the types inferred by the compiler. Also, since the output follows the syntax of interfaces, it can help in writing an explicit interface (.mli file) for a file: just redirect the standard output of the compiler to a .mli file, and edit that file to remove all declarations of unexported names.
-I directory Add the given directory to the list of directories searched for compiled interface files (.cmi), compiled object code files (.cmo), libraries (.cma), and C libraries specified with -cclib -lxxx .  By default, the current directory is searched first, then the standard library directory. Directories added with -I are searched after the current directory, in the order in which they were given on the command line, but before the standard library directory. See also option -nostdlib.
If the given directory starts with +, it is taken relative to the standard library directory. For instance, -I +compiler-libs adds the subdirectory compiler-libs of the standard library to the search path.
-impl filename Compile the file filename as an implementation file, even if its extension is not .ml.
-intf filename Compile the file filename as an interface file, even if its extension is not .mli.
-intf-suffix string Recognize file names ending with string as interface files (instead of the default .mli).
-keep-docs Keep documentation strings in generated .cmi files.
-keep-locs Keep locations in generated .cmi files.
-labels Labels are not ignored in types, labels may be used in applications, and labelled parameters can be given in any order. This is the default.
-linkall Force all modules contained in libraries to be linked in. If this flag is not given, unreferenced modules are not linked in. When building a library (option -a), setting the -linkall option forces all subsequent links of programs involving that library to link all the modules contained in the library.  When compiling a module (option -c), setting the -linkall option ensures that this module will always be linked if it is put in a library and this library is linked.