LYNX(1) LYNX(1) NAME lynx - a general purpose distributed information browser for the World Wide Web SYNOPSIS lynx [options] [path or URL] use "lynx -help" to display a complete list of current options. DESCRIPTION Lynx is a fully-featured World Wide Web (WWW) client for users running cursor-addressable, character-cell display devices (e.g., vt100 terminals, vt100 emulators running on Windows 95/NT or Macintoshes, or any other "curses-ori- ented" display). It will display hypertext markup lan- guage (HTML) documents containing links to files residing on the local system, as well as files residing on remote systems running Gopher, HTTP, FTP, WAIS, and NNTP servers. Current versions of Lynx run on Unix, VMS, Windows 95/NT, 386DOS and OS/2 EMX. Lynx can be used to access information on the World Wide Web, or to build information systems intended primarily for local access. For example, Lynx has been used to build several Campus Wide Information Systems (CWIS). In addition, Lynx can be used to build systems isolated within a single LAN. OPTIONS At start up, Lynx will load any local file or remote URL specified at the command line. For help with URLs, press "?" or "H" while running Lynx. Then follow the link titled, "Help on URLs." Lynx uses only long option names. Option names can begin with double dash as well, underscores and dashes can be intermixed in option names (in the reference below options are with one dash before them and with underscores). - If the argument is only '-', then Lynx expects to receive the arguments from stdin. This is to allow for the potentially very long command line that can be associated with the -get_data or -post_data arguments (see below). It can also be used to avoid having sensitive information in the invoking command line (which would be visible to other pro- cesses on most systems), especially when the -auth or -pauth options are used. -accept_all_cookies accept all cookies. Local 1 LYNX(1) LYNX(1) -anonymous apply restrictions for anonymous account, see also -restrictions. -assume_charset=MIMEname charset for documents that don't specify it. -assume_local_charset=MIMEname charset assumed for local files. -assume_unrec_charset=MIMEname use this instead of unrecognized charsets. -auth=ID:PASSWD set authorization ID and password for protected documents at startup. Be sure to protect any script files which use this switch. -base prepend a request URL comment and BASE tag to text/html outputs for -source dumps. -bibp=URL specify a local bibp server (default http://bib- host/). -blink forces high intensity background colors for color mode, if available and supported by the terminal. This applies to the slang library (for a few termi- nal emulators), or to OS/2 EMX with ncurses. -book use the bookmark page as the startfile. The default or command line startfile is still set for the Main screen command, and will be used if the bookmark page is unavailable or blank. -buried_news toggles scanning of news articles for buried refer- ences, and converts them to news links. Not recom- mended because email addresses enclosed in angle brackets will be converted to false news links, and uuencoded messages can be trashed. -cache=NUMBER set the NUMBER of documents cached in memory. The default is 10. -case enable case-sensitive string searching. -center Toggle center alignment in HTML TABLE. -cfg=FILENAME specifies a Lynx configuration file other than the default lynx.cfg. 2 Local LYNX(1) LYNX(1) -child exit on left-arrow in startfile, and disable save to disk. -cmd_log=FILENAME write keystroke commands and related information to the specified file. -cmd_script=FILENAME read keystroke commands from the specified file. You can use the data written using the -cmd_log option. Lynx will ignore other information which the command-logging may have written to the log- file. -color forces color mode on, if available. Default color control sequences which work for many terminal types are assumed if the terminal capability description does not specify how to handle color. Lynx needs to be compiled with the slang library for this flag, it is equivalent to setting the COL- ORTERM environment variable. (If color support is instead provided by a color-capable curses library like ncurses, Lynx relies completely on the termi- nal description to determine whether color mode is possible, and this flag is not needed and thus unavailable.) A saved show_color=always setting found in a .lynxrc file at startup has the same effect. A saved show_color=never found in .lynxrc on startup is overridden by this flag. -connect_timeout=N Sets the connection timeout, where N is given in seconds. This is not available under DOS (use the sockdelay parameter of WATTCP under DOS). -cookie_file=FILENAME specifies a file to use to read cookies. If none is specified, the default value is ~/.lynx_cookies for most systems, but ~/cookies for MS-DOS. -cookie_save_file=FILENAME specifies a file to use to store cookies. If none is specified, the value given by -cookie_file is used. -cookies toggles handling of Set-Cookie headers. -core toggles forced core dumps on fatal errors. -crawl with -traversal, output each page to a file. with -dump, format output as with -traversal, but to stdout. Local 3 LYNX(1) LYNX(1) -curses_pads toggles the use of curses "pad" feature which sup- ports left/right scrolling of the display. -debug_partial separate incremental display stages with Mes- sageSecs delay -display=DISPLAY set the display variable for X rexec-ed programs. -display_charset=MIMEname set the charset for the terminal output. -dont_wrap_pre inhibit wrapping of text in <pre> when -dump'ing and -crawl'ing, mark wrapped lines in interactive session. -dump dumps the formatted output of the default document or one specified on the command line to standard output. This can be used in the following way: lynx -dump http://www.trill-home.com/lynx.html -editor=EDITOR enable external editing, using the specified EDI- TOR. (vi, ed, emacs, etc.) -emacskeys enable emacs-like key movement. -enable_scrollback toggles compatibility with communication programs' scrollback keys (may be incompatible with some curses packages). -error_file=FILE define a file where Lynx will report HTTP access codes. -exec enable local program execution (normally not con- figured). -fileversions include all versions of files in local VMS direc- tory listings. -force_empty_hrefless_a force HREF-less 'A' elements to be empty (close them as soon as they are seen). -force_html forces the first document to be interpreted as 4 Local LYNX(1) LYNX(1) HTML. -force_secure toggles forcing of the secure flag for SSL cookies. -forms_options toggles whether the Options Menu is key-based or form-based. -from toggles transmissions of From headers. -ftp disable ftp access. -get_data properly formatted data for a get form are read in from stdin and passed to the form. Input is termi- nated by a line that starts with '---'. -head send a HEAD request for the mime headers. -help print the Lynx command syntax usage message. -hiddenlinks=[option] control the display of hidden links. merge hidden links show up as bracketed numbers and are numbered together with other links in the sequence of their occurrence in the document. listonly hidden links are shown only on L)ist screens and listings generated by -dump or from the P)rint menu, but appear separately at the end of those lists. This is the default behavior. ignore hidden links do not appear even in listings. -historical toggles use of '>' or '-->' as a terminator for comments. -homepage=URL set homepage separate from start page. -image_links toggles inclusion of links for all images. -index=URL set the default index file to the specified URL. -ismap toggles inclusion of ISMAP links when client-side MAPs are present. -justify do justification of text. Local 5 LYNX(1) LYNX(1) -link=NUMBER starting count for lnk#.dat files produced by -crawl. -localhost disable URLs that point to remote hosts. -locexec enable local program execution from local files only (if Lynx was compiled with local execution enabled). -lss=FILENAME specify filename containing color-style informa- tion. The default is lynx.lss. -mime_header prints the MIME header of a fetched document along with its source. -minimal toggles minimal versus valid comment parsing. -newschunksize=NUMBER number of articles in chunked news listings. -newsmaxchunk=NUMBER maximum news articles in listings before chunking. -nobold disable bold video-attribute. -nobrowse disable directory browsing. -nocc disable Cc: prompts for self copies of mailings. Note that this does not disable any CCs which are incorporated within a mailto URL or form ACTION. -nocolor force color mode off, overriding terminal capabili- ties and any -color flags, COLORTERM variable, and saved .lynxrc settings. -noexec disable local program execution. (DEFAULT) -nofilereferer disable transmissions of Referer headers for file URLs. -nolist disable the link list feature in dumps. 6 Local LYNX(1) LYNX(1) -nolog disable mailing of error messages to document own- ers. -nonrestarting_sigwinch This flag is not available on all systems, Lynx needs to be compiled with HAVE_SIGACTION defined. If available, this flag may cause Lynx to react more immediately to window changes when run within an xterm. -nopause disable forced pauses for statusline messages. -noprint disable most print functions. -noredir prevents automatic redirection and prints a message with a link to the new URL. -noreferer disable transmissions of Referer headers. -noreverse disable reverse video-attribute. -nosocks disable SOCKS proxy usage by a SOCKSified Lynx. -nostatus disable the retrieval status messages. -nounderline disable underline video-attribute. -number_fields force numbering of links as well as form input fields -number_links force numbering of links. -partial toggles display partial pages while loading. -partial_thres=NUMBER number of lines to render before repainting display with partial-display logic -pauth=ID:PASSWD set authorization ID and password for a protected proxy server at startup. Be sure to protect any script files which use this switch. Local 7 LYNX(1) LYNX(1) -popup toggles handling of single-choice SELECT options via popup windows or as lists of radio buttons. -post_data properly formatted data for a post form are read in from stdin and passed to the form. Input is termi- nated by a line that starts with '---'. -preparsed show HTML source preparsed and reformatted when used with -source or in source view. -prettysrc show HTML source view with lexical elements and tags in color. -print enable print functions. (default) -pseudo_inlines toggles pseudo-ALTs for inlines with no ALT string. -raw toggles default setting of 8-bit character transla- tions or CJK mode for the startup character set. -realm restricts access to URLs in the starting realm. -reload flushes the cache on a proxy server (only the first document affected). -restrictions=[option][,option][,option]... allows a list of services to be disabled selec- tively. Dashes and underscores in option names can be intermixed. The following list is printed if no options are specified. all - restricts all options listed below. bookmark - disallow changing the location of the bookmark file. bookmark_exec - disallow execution links via the bookmark file. change_exec_perms - disallow changing the eXecute permission on files (but still allow it for direc- tories) when local file management is enabled. default - same as command line option -anonymous. Disables default services for anonymous users. Set to all restricted, except for: inside_telnet, out- side_telnet, inside_ftp, outside_ftp, inside_rlogin, outside_rlogin, inside_news, out- side_news, telnet_port, jump, mail, print, exec, 8 Local LYNX(1) LYNX(1) and goto. The settings for these, as well as addi- tional goto restrictions for specific URL schemes that are also applied, are derived from definitions within userdefs.h. dired_support - disallow local file management. disk_save - disallow saving to disk in the download and print menus. dotfiles - disallow access to, or creation of, hid- den (dot) files. download - disallow some downloaders in the down- load menu (does not imply disk_save restriction). editor - disallow external editing. exec - disable execution scripts. exec_frozen - disallow the user from changing the local execution option. externals - disallow some "EXTERNAL" configuration lines if support for passing URLs to external applications (with the EXTERN command) is compiled in. file_url - disallow using G)oto, served links or bookmarks for file: URLs. goto - disable the 'g' (goto) command. inside_ftp - disallow ftps for people coming from inside your domain (utmp required for selectivity). inside_news - disallow USENET news posting for peo- ple coming from inside your domain (utmp required for selectivity). inside_rlogin - disallow rlogins for people coming from inside your domain (utmp required for selec- tivity). inside_telnet - disallow telnets for people coming from inside your domain (utmp required for selec- tivity). jump - disable the 'j' (jump) command. multibook - disallow multiple bookmarks. mail - disallow mail. Local 9 LYNX(1) LYNX(1) news_post - disallow USENET News posting. options_save - disallow saving options in .lynxrc. outside_ftp - disallow ftps for people coming from outside your domain (utmp required for selectiv- ity). outside_news - disallow USENET news reading and posting for people coming from outside your domain (utmp required for selectivity). This restriction applies to "news", "nntp", "newspost", and "newsre- ply" URLs, but not to "snews", "snewspost", or "snewsreply" in case they are supported. outside_rlogin - disallow rlogins for people coming from outside your domain (utmp required for selec- tivity). outside_telnet - disallow telnets for people coming from outside your domain (utmp required for selec- tivity). print - disallow most print options. shell - disallow shell escapes and lynxexec or lynxprog G)oto's. suspend - disallow Unix Control-Z suspends with escape to shell. telnet_port - disallow specifying a port in telnet G)oto's. useragent - disallow modifications of the User- Agent header. -resubmit_posts toggles forced resubmissions (no-cache) of forms with method POST when the documents they returned are sought with the PREV_DOC command or from the History List. -rlogin disable recognition of rlogin commands. -scrollbar toggles showing scrollbar. -scrollbar_arrow toggles showing arrows at ends of the scrollbar. 10 Local LYNX(1) LYNX(1) -selective require .www_browsable files to browse directories. -short_url show very long URLs in the status line with "..." to represent the portion which cannot be displayed. The beginning and end of the URL are displayed, rather than suppressing the end. -show_cursor If enabled the cursor will not be hidden in the right hand corner but will instead be positioned at the start of the currently selected link. Show cursor is the default for systems without FANCY_CURSES capabilities. The default configura- tion can be changed in userdefs.h or lynx.cfg. The command line switch toggles the default. -show_rate If enabled the transfer rate is shown in bytes/sec- ond. If disabled, no transfer rate is shown. Use lynx.cfg or the options menu to select KB/second and/or ETA. -soft_dquotes toggles emulation of the old Netscape and Mosaic bug which treated '>' as a co-terminator for dou- ble-quotes and tags. -source works the same as dump but outputs HTML source instead of formatted text. -stack_dump disable SIGINT cleanup handler -startfile_ok allow non-http startfile and homepage with -vali- date. -stdin read the startfile from standard input (UNIX only). -syslog=text information for syslog call. -tagsoup initialize parser, using Tag Soup DTD rather than SortaSGML. -telnet disable recognition of telnet commands. -term=TERM tell Lynx what terminal type to assume it is Local 11 LYNX(1) LYNX(1) talking to. (This may be useful for remote execu- tion, when, for example, Lynx connects to a remote TCP/IP port that starts a script that, in turn, starts another Lynx process.) -timeout=N For win32, sets the network read-timeout, where N is given in seconds. -tlog toggles between using a Lynx Trace Log and stderr for trace output from the session. -tna turns on "Textfields Need Activation" mode. -trace turns on Lynx trace mode. Destination of trace output depends on -tlog. -trace_mask=value turn on optional traces, which may result in very large trace files. Logically OR the values to com- bine options: 1=SGML character parsing states 2=color-style 4=TRST (table layout) -traversal traverse all http links derived from startfile. When used with -crawl, each link that begins with the same string as startfile is output to a file, intended for indexing. See CRAWL.announce for more information. trim_input_fields trim input text/textarea fields in forms. -underscore toggles use of _underline_ format in dumps. -use_mouse turn on mouse support, if available. Clicking the left mouse button on a link traverses it. Clicking the right mouse button pops back. Click on the top line to scroll up. Click on the bottom line to scroll down. The first few positions in the top and bottom line may invoke additional functions. Lynx must be compiled with ncurses or slang to sup- port this feature. If ncurses is used, clicking the middle mouse button pops up a simple menu. Mouse clicks may only work reliably while Lynx is idle waiting for input. -useragent=Name set alternate Lynx User-Agent header. 12 Local LYNX(1) LYNX(1) -validate accept only http URLs (for validation). Complete security restrictions also are implemented. -verbose toggle [LINK], [IMAGE] and [INLINE] comments with filenames of these images. -version print version information. -vikeys enable vi-like key movement. -wdebug enable Waterloo tcp/ip packet debug (print to watt debugfile). This applies only to DOS versions com- piled with WATTCP or WATT-32. -width=NUMBER number of columns for formatting of dumps, default is 80. -with_backspaces emit backspaces in output if -dumping or -crawling (like 'man' does) COMMANDS o Use Up arrow and Down arrow to scroll through hypertext links. o Right arrow or Return will follow a highlighted hyper- text link. o Left Arrow will retreat from a link. o Type "H" or "?" for online help and descriptions of key- stroke commands. o Type "K" for a complete list of the current key-stroke command mappings. ENVIRONMENT In addition to various "standard" environment variables such as HOME, PATH, USER, DISPLAY, TMPDIR, etc, Lynx uti- lizes several Lynx-specific environment variables, if they exist. Others may be created or modified by Lynx to pass data to an external program, or for other reasons. These are listed separately below. See also the sections on SIMULATED CGI SUPPORT and NATIVE LANGUAGE SUPPORT, below. Note: Not all environment variables apply to all types of platforms supported by Lynx, though most do. Feedback on platform dependencies is solicited. Local 13 LYNX(1) LYNX(1) Environment Variables Used By Lynx: COLORTERM If set, color capability for the ter- minal is forced on at startup time. The actual value assigned to the vari- able is ignored. This variable is only meaningful if Lynx was built using the slang screen-handling library. LYNX_CFG This variable, if set, will override the default location and name of the global configuration file (normally, lynx.cfg) that was defined by the LYNX_CFG_FILE constant in the userdefs.h file, during installation. See the userdefs.h file for more information. LYNX_LSS This variable, if set, specifies the location of the default Lynx character style sheet file. [Currently only meaningful if Lynx was built using experimental color style support.] LYNX_SAVE_SPACE This variable, if set, will override the default path prefix for files saved to disk that is defined in the lynx.cfg SAVE_SPACE: statement. See the lynx.cfg file for more informa- tion. LYNX_TEMP_SPACE This variable, if set, will override the default path prefix for temporary files that was defined during instal- lation, as well as any value that may be assigned to the TMPDIR variable. MAIL This variable specifies the default inbox Lynx will check for new mail, if such checking is enabled in the lynx.cfg file. NEWS_ORGANIZATION This variable, if set, provides the string used in the Organization: header of USENET news postings. It will override the setting of the ORGA- NIZATION environment variable, if it is also set (and, on UNIX, the con- tents of an /etc/organization file, if present). NNTPSERVER If set, this variable specifies the default NNTP server that will be used 14 Local LYNX(1) LYNX(1) for USENET news reading and posting with Lynx, via news: URL's. ORGANIZATION This variable, if set, provides the string used in the Organization: header of USENET news postings. On UNIX, it will override the contents of an /etc/organization file, if present. PROTOCOL_proxy Lynx supports the use of proxy servers that can act as firewall gateways and caching servers. They are preferable to the older gateway servers (see WWW_access_GATEWAY, below). Each pro- tocol used by Lynx, (http, ftp, gopher, etc), can be mapped separately by setting environment variables of the form PROTOCOL_proxy (literally: http_proxy, ftp_proxy, gopher_proxy, etc), to "http://some.server.dom:port/". See Lynx Users Guide for additional details and examples. WWW_access_GATEWAY Lynx still supports use of gateway servers, with the servers specified via "WWW_access_GATEWAY" variables (where "access" is lower case and can be "http", "ftp", "gopher" or "wais"), however most gateway servers have been discontinued. Note that you do not include a terminal '/' for gateways, but do for proxies specified by PROTO- COL_proxy environment variables. See Lynx Users Guide for details. WWW_HOME This variable, if set, will override the default startup URL specified in any of the Lynx configuration files. Environment Variables Set or Modified By Lynx: LYNX_PRINT_DATE This variable is set by the Lynx p(rint) function, to the Date: string seen in the document's "Information about" page (= cmd), if any. It is created for use by an external pro- gram, as defined in a lynx.cfg PRINTER: definition statement. If the field does not exist for the document, the variable is set to a null string under UNIX, or "No Date" under VMS. LYNX_PRINT_LASTMOD This variable is set by the Lynx Local 15 LYNX(1) LYNX(1) p(rint) function, to the Last Mod: string seen in the document's "Infor- mation about" page (= cmd), if any. It is created for use by an external program, as defined in a lynx.cfg PRINTER: definition statement. If the field does not exist for the document, the variable is set to a null string under UNIX, or "No LastMod" under VMS. LYNX_PRINT_TITLE This variable is set by the Lynx p(rint) function, to the Linkname: string seen in the document's "Infor- mation about" page (= cmd), if any. It is created for use by an external program, as defined in a lynx.cfg PRINTER: definition statement. If the field does not exist for the document, the variable is set to a null string under UNIX, or "No Title" under VMS. LYNX_PRINT_URL This variable is set by the Lynx p(rint) function, to the URL: string seen in the document's "Information about" page (= cmd), if any. It is created for use by an external pro- gram, as defined in a lynx.cfg PRINTER: definition statement. If the field does not exist for the document, the variable is set to a null string under UNIX, or "No URL" under VMS. LYNX_TRACE If set, causes Lynx to write a trace file as if the -trace option were sup- plied. LYNX_VERSION This variable is always set by Lynx, and may be used by an external program to determine if it was invoked by Lynx. See also the comments in the distribution's sample mailcap file, for notes on usage in such a file. TERM Normally, this variable is used by Lynx to determine the terminal type being used to invoke Lynx. If, how- ever, it is unset at startup time (or has the value "unknown"), or if the -term command-line option is used (see OPTIONS section above), Lynx will set or modify its value to the user speci- fied terminal type (for the Lynx exe- cution environment). Note: If set/modified by Lynx, the values of 16 Local LYNX(1) LYNX(1) the LINES and/or COLUMNS environment variables may also be changed. SIMULATED CGI SUPPORT If built with the cgi-links option enabled, Lynx allows access to a cgi script directly without the need for an http daemon. When executing such "lynxcgi scripts" (if enabled), the following variables may be set for simulating a CGI envi- ronment: CONTENT_LENGTH CONTENT_TYPE DOCUMENT_ROOT HTTP_ACCEPT_CHARSET HTTP_ACCEPT_LANGUAGE HTTP_USER_AGENT PATH_INFO PATH_TRANSLATED QUERY_STRING REMOTE_ADDR REMOTE_HOST REQUEST_METHOD SERVER_SOFTWARE Other environment variables are not inherited by the script, unless they are provided via a LYNXCGI_ENVIRONMENT statement in the configuration file. See the lynx.cfg file, and the (draft) CGI 1.1 Specification <http://Web.Golux.Com/coar/cgi/draft-coar-cgi-v11-00.txt> for the definition and usage of these variables. The CGI Specification, and other associated documentation, should be consulted for general information on CGI script programming. NATIVE LANGUAGE SUPPORT If configured and installed with Native Language Support, Lynx will display status and other messages in your local language. See the file ABOUT_NLS in the source distribu- tion, or at your local GNU site, for more information Local 17 LYNX(1) LYNX(1) about internationalization. The following environment variables may be used to alter default settings: LANG This variable, if set, will override the default message language. It is an ISO 639 two-letter code identifying the language. Language codes are NOT the same as the country codes given in ISO 3166. LANGUAGE This variable, if set, will override the default message language. This is a GNU extension that has higher prior- ity for setting the message catalog than LANG or LC_ALL. LC_ALL and LC_MESSAGES These variables, if set, specify the notion of native language formatting style. They are POSIXly correct. LINGUAS This variable, if set prior to config- uration, limits the installed lan- guages to specific values. It is a space-separated list of two-letter codes. Currently, it is hard-coded to a wish list. NLSPATH This variable, if set, is used as the path prefix for message catalogs. NOTES This is the Lynx v2.8.4 Release If you wish to contribute to the further development of Lynx, subscribe to our mailing list. Send email to <majordomo@sig.net> with "subscribe lynx-dev" as the only line in the body of your message. Send bug reports, comments, suggestions to <lynx- dev@sig.net> after subscribing. Unsubscribe by sending email to <majordomo@sig.net> with "unsubscribe lynx-dev" as the only line in the body of your message. Do not send the unsubscribe message to the lynx-dev list, itself. SEE ALSO catgets(3), curses(3), environ(7), execve(2), ftp(1), gettext(GNU), localeconv(3), ncurses(3), setlocale(3), slang(?), termcap(5), terminfo(5), wget(GNU) 18 Local LYNX(1) LYNX(1) Note that man page availability and section numbering is somewhat platform dependent, and may vary from the above references. A section shown as (GNU), is intended to denote that the topic may be available via an info page, instead of a man page (i.e., try "info subject", rather than "man sub- ject"). A section shown as (?) denotes that documentation on the topic exists, but is not part of an established documenta- tion retrieval system (see the distribution files associ- ated with the topic, or contact your System Administrator for further information). ACKNOWLEDGMENTS Lynx has incorporated code from a variety of sources along the way. The earliest versions of Lynx included code from Earl Fogel of Computing Services at the University of Saskatchewan, who implemented HYPERREZ in the Unix envi- ronment. HYPERREZ was developed by Niel Larson of Think.com and served as the model for the early versions of Lynx. Those versions also incorporated libraries from the Unix Gopher clients developed at the University of Minnesota, and the later versions of Lynx rely on the WWW client library code developed by Tim Berners-Lee and the WWW community. Also a special thanks to Foteos Macrides who ported much of Lynx to VMS and did or organized most of its development since the departures of Lou Montulli and Garrett Blythe from the University of Kansas in the summer of 1994 through the release of v2.7.2, and to ev- eryone on the net who has contributed to Lynx's develop- ment either directly (through patches, comments or bug re- ports) or indirectly (through inspiration and development of other systems). AUTHORS Lou Montulli, Garrett Blythe, Craig Lavender, Michael Grobe, Charles Rezac Academic Computing Services University of Kansas Lawrence, Kansas 66047 Foteos Macrides Worcester Foundation for Biomedical Research Shrewsbury, Massachusetts 01545 Local 19