diff --git a/2018/Honeywell_T6_Pro/7.tex~ b/2018/Honeywell_T6_Pro/7.tex~ new file mode 100644 index 0000000..49f463e --- /dev/null +++ b/2018/Honeywell_T6_Pro/7.tex~ @@ -0,0 +1,37 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\title{\textbf{Work Log: 12/03/18 Honeywell T6 Pro Thermostats}} +\author{} +\date{} +\begin{document} + +\maketitle +\emph{"The primary function of the design engineer is to make things +difficult for the fabricator and impossible for the serviceman."} +\section{Overview} +There are 5 Honeywell T6 Pro Thermostats in the Office, which have been installed to replace Google Nest devices. However, they are unable to connect to the wifi. The Nest devices did not have such an issue. + +\section{Details} + +What was tried: +\begin{itemize} +\item Changing Wifi settings from 2.4GHz and 5Ghz to 2.4GHz only (this was recommended by Honeywell docs, as the thermostats work on 2.4GHz only). I verified the wifi was on 2.4GHz only by restarting all APs, and checking with Wifi Analyzer. No effect. +\item Changing wifi settings to use WPA1 and WPA2 (in case this was a device without WPA2 support). Previously wifi was set to WPA2 only. No effect. +\item Read through all documentation for the Pro T6 thermostats to see if any other settings were required. Nothing of note was found. Documentation is lean. This is my biggest complaint. +\item Attempted to connect T6 to wifi by using Lyric (now honeywell home) app with iphone. Failed to complete. +\item Disabled a setting in the menus called WAC, which is a setting which automatically transfers credentials from an iphone to the T6 thermostat. At this point, I was required to change to the thermostats wifi access point, type in the password for the wifi manually into the Lyric app, where the wifi showed connected and the thermostat even said Success, indicating completion, however the app failed its side of the registration. This got me further, and I saw on the app that it said the Device had done a Geofencing, and had just come back online. However, it was not listed in the devices of the lyric app... Still no luck. +\item At this point, I called support, whom after 30-40 minutes of holding, I was directed by a tech of Resideo to use a phone's wifi hotspot, which should work in this situation (whenever the techs have seen this happen before, this has worked). During the holding time I worked on the network doc for the server rack. He also mentioned that if the device failed to configure like this, that \emph {it was necessary to call up Resideo to delete the device from their servers, as once it is 'half configured' it can't fully be configured.} Wow... +\item I attempted to use a 2nd phone outside of the iphone as the mobile hotspot, and to configure wifi on the Lyric aka Honewell Home app. WAC was enabled. I was able to get about as far as I did with the WAC. The device was able to see wifi, and I could see it connected to my phone... The thermostat even said "Success" and returned to the temperature screen, however the Honeywell Home app did not complete, and gave a failed error (finalizing registration was the last message it tried to complete - often multiple times). +\item I tried once or twice more, but was unsuccessful. At this point, I contacted support again, and while waiting on hold for 30-40 minutes worked with another office on their tech issues. Finally, support recommended I try some of the other thermostats in the office, and also recommended a factory reset. \footnote{(done by holding down the menu button, and then in the window that appears - a service menu - clicking the reset option, then the factory option. Note that this is different from the reset option of the normal menu which doesn't have a factory reset capability... You MUST hold menu down for a few seconds.} +\item I tried on a downstairs thermostat, factory resetting it to new settings and again tried the Access point method. No further progress was made. + +\item Pretty much the only thing I didn't try, was to factory reset, disable WAC, and then use the Phone's access point. I also didn't try contractor mode (requires answering an email to complete the app install). I did not try a newer Android phone (my phone is too old / doesn't have Google apps). Overall, the only way to connect to the main wifi was to disable WAC. Connecting to a phone hotspot always worked. Poor Antenna? + +Based on this, I have come to the conclusion that these IoT devices, or wifi connected smart things, whatever they may be called, are young technologies and not mature enough to be used without bugs. The Nests, which were from a startup bought by Google, show that this kind of embedded device, with online capability, is new ground, and the space is open for startups to innovate. However, that was 2011, and the big players are now rushing to catch up with their own smart thermostats, cameras, light switches, etc... This means some care must be made with buying the smart devices. Some may be more mature than others. + +As for what I think the problem is, it's hard to say, but possibly wifi interference in this business location is causing these home devices to be unable to find the wifi. Or, it's simply faulty hardware. Possibly the iphones (two were tried overall) were unsupported, somehow. That's not acceptable in my view. + +I'm not impressed with the Honeywell T6 Pro devices, and the performance here shows it's simply not ready yet. + +\end{itemize} +\end{document} diff --git a/2018/Honeywell_T6_Pro/docs/7.aux b/2018/Honeywell_T6_Pro/docs/7.aux new file mode 100644 index 0000000..7d0e52b --- /dev/null +++ b/2018/Honeywell_T6_Pro/docs/7.aux @@ -0,0 +1,4 @@ +\relax +\@writefile{toc}{\contentsline {section}{\numberline {1}Overview}{1}} +\@writefile{toc}{\contentsline {section}{\numberline {2}Details}{1}} +\@writefile{toc}{\contentsline {section}{\numberline {3}End of Year Retrospective}{4}} diff --git a/2018/Honeywell_T6_Pro/docs/7.log b/2018/Honeywell_T6_Pro/docs/7.log new file mode 100644 index 0000000..6e712bc --- /dev/null +++ b/2018/Honeywell_T6_Pro/docs/7.log @@ -0,0 +1,196 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 21 JAN 2020 01:20 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2018/Honeywell +_T6_Pro/docs/7.tex + +(/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2018/Honeywell_ +T6_Pro/docs/7.tex +LaTeX2e <2017/01/01> patch level 3 +Babel <3.9r> and hyphenation patterns for 3 language(s) loaded. +(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls +Document Class: article 2014/09/29 v1.4h Standard LaTeX document class +(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo +File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +(/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty +Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package xcolor Info: Driver file: pdftex.def on input line 225. + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2017/01/12 v0.06k Graphics/color for pdfTeX + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty +Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty +Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) +) +\Gread@gobject=\count87 +) +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. +Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352. +Package xcolor Info: Model `RGB' extended on input line 1364. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. +) +(/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty +Package: geometry 2010/09/12 v5.6 Page Geometry + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks14 +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2016/05/14 v3.1 Provides the ifpdf switch +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty +Package: ifvtex 2016/05/16 v1.6 Detect VTeX and its facilities (HO) +Package ifvtex Info: VTeX not detected. +) +(/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty +Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional +) +\Gm@cnth=\count88 +\Gm@cntv=\count89 +\c@Gm@tempcnt=\count90 +\Gm@bindingoffset=\dimen103 +\Gm@wd@mp=\dimen104 +\Gm@odd@mp=\dimen105 +\Gm@even@mp=\dimen106 +\Gm@layoutwidth=\dimen107 +\Gm@layoutheight=\dimen108 +\Gm@layouthoffset=\dimen109 +\Gm@layoutvoffset=\dimen110 +\Gm@dimlist=\toks15 +) (./7.aux) +\openout1 = `7.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 10. +LaTeX Font Info: ... okay on input line 10. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 10. +LaTeX Font Info: ... okay on input line 10. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 10. +LaTeX Font Info: ... okay on input line 10. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 10. +LaTeX Font Info: ... okay on input line 10. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 10. +LaTeX Font Info: ... okay on input line 10. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 10. +LaTeX Font Info: ... okay on input line 10. + +(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count91 +\scratchdimen=\dimen111 +\scratchbox=\box26 +\nofMPsegments=\count92 +\nofMParguments=\count93 +\everyMPshowfont=\toks16 +\MPscratchCnt=\count94 +\MPscratchDim=\dimen112 +\MPnumerator=\count95 +\makeMPintoPDFobject=\count96 +\everyMPtoPDFconversion=\toks17 +) +*geometry* detected driver: dvips +*geometry* verbose mode - [ preamble ] result: +* driver: dvips +* paper: custom +* layout: +* layoutoffset:(h,v)=(0.0pt,0.0pt) +* vratio: 1:1 +* modes: +* h-part:(L,W,R)=(54.2025pt, 325.215pt, 54.2025pt) +* v-part:(T,H,B)=(79.49689pt, 491.43622pt, 79.49689pt) +* \paperwidth=433.62pt +* \paperheight=650.43pt +* \textwidth=325.215pt +* \textheight=491.43622pt +* \oddsidemargin=-18.06749pt +* \evensidemargin=-18.06749pt +* \topmargin=-29.7731pt +* \headheight=12.0pt +* \headsep=25.0pt +* \topskip=11.0pt +* \footskip=30.0pt +* \marginparwidth=59.0pt +* \marginparsep=10.0pt +* \columnsep=10.0pt +* \skip\footins=10.0pt plus 4.0pt minus 2.0pt +* \hoffset=0.0pt +* \voffset=0.0pt +* \mag=1000 +* \@twocolumnfalse +* \@twosidefalse +* \@mparswitchfalse +* \@reversemarginfalse +* (1in=72.27pt=25.4mm, 1cm=28.453pt) + +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 12. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 12. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 12. +LaTeX Font Info: Try loading font information for OMS+cmr on input line 25. +(/usr/share/texlive/texmf-dist/tex/latex/base/omscmr.fd +File: omscmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions +) +LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10.95> not available +(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 25. + [1 +Non-PDF special ignored! + +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <10.95> on input line 32. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <9> on input line 32. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <5> on input line 32. + +[2] [3] [4] (./7.aux) ) +Here is how much of TeX's memory you used: + 1959 strings out of 494945 + 25794 string characters out of 6181032 + 91878 words of memory out of 5000000 + 5280 multiletter control sequences out of 15000+600000 + 9761 words of font info for 34 fonts, out of 8000000 for 9000 + 14 hyphenation exceptions out of 8191 + 24i,8n,35p,747b,216s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on 7.pdf (4 pages, 93365 bytes). +PDF statistics: + 45 PDF objects out of 1000 (max. 8388607) + 31 compressed objects within 1 object stream + 0 named destinations out of 1000 (max. 500000) + 1 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/2018/Honeywell_T6_Pro/docs/7.pdf b/2018/Honeywell_T6_Pro/docs/7.pdf new file mode 100644 index 0000000..3b2c5de Binary files /dev/null and b/2018/Honeywell_T6_Pro/docs/7.pdf differ diff --git a/2018/Honeywell_T6_Pro/docs/7.tex b/2018/Honeywell_T6_Pro/docs/7.tex new file mode 100644 index 0000000..52232ef --- /dev/null +++ b/2018/Honeywell_T6_Pro/docs/7.tex @@ -0,0 +1,51 @@ +\documentclass[11pt]{article} +%Gummi|065|=) + +\usepackage{xcolor} +\usepackage[vcentering,dvips]{geometry} +\geometry{papersize={6in,9in},total={4.5in,6.8in}} +\title{\textbf{Work Log: 12/03/18 Honeywell T6 Pro Thermostats}} +\author{} +\date{} +\begin{document} + +\maketitle +\emph{"The primary function of the design engineer is to make things + difficult for the fabricator and impossible for the serviceman."} + +\textcolor{green!60!blue!70}{ +\section{Overview}} +There are 5 Honeywell T6 Pro Thermostats in the Office, which have been installed to replace Google Nest devices. However, they are unable to connect to the wifi. The Nest devices did not have such an issue. + +\textcolor{green!60!blue!70}{ +\section{Details}} + +What was tried: +\begin{itemize} +\item Changing Wifi settings from 2.4GHz and 5Ghz to 2.4GHz only (this was recommended by Honeywell docs, as the thermostats work on 2.4GHz only). I verified the wifi was on 2.4GHz only by restarting all APs, and checking with Wifi Analyzer. No effect. +\item Changing wifi settings to use WPA1 and WPA2 (in case this was a device without WPA2 support). Previously wifi was set to WPA2 only. No effect. +\item Read through all documentation for the Pro T6 thermostats to see if any other settings were required. Nothing of note was found. Documentation is lean. This is my biggest complaint. +\item Attempted to connect T6 to wifi by using Lyric (now honeywell home) app with iphone. Failed to complete. +\item Disabled a setting in the menus called WAC, which is a setting which automatically transfers credentials from an iphone to the T6 thermostat. At this point, I was required to change to the thermostats wifi access point, type in the password for the wifi manually into the Lyric app, where the wifi showed connected and the thermostat even said Success, indicating completion, however the app failed its side of the registration. This got me further, and I saw on the app that it said the Device had done a Geofencing, and had just come back online. However, it was not listed in the devices of the lyric app... Still no luck. +\item At this point, I called support, whom after 30-40 minutes of holding, I was directed by a tech of Resideo to use a phone's wifi hotspot, which should work in this situation (whenever the techs have seen this happen before, this has worked). During the holding time I worked on the network doc for the server rack. He also mentioned that if the device failed to configure like this, that \emph {it was necessary to call up Resideo to delete the device from their servers, as once it is 'half configured' it can't fully be configured.} Wow... +\item I attempted to use a 2nd phone outside of the iphone as the mobile hotspot, and to configure wifi on the Lyric aka Honewell Home app. WAC was enabled. I was able to get about as far as I did with the WAC. The device was able to see wifi, and I could see it connected to my phone... The thermostat even said "Success" and returned to the temperature screen, however the Honeywell Home app did not complete, and gave a failed error (finalizing registration was the last message it tried to complete - often multiple times). +\item I tried once or twice more, but was unsuccessful. At this point, I contacted support again, and while waiting on hold for 30-40 minutes worked with another office on their tech issues. Finally, support recommended I try some of the other thermostats in the office, and also recommended a factory reset. \footnote{(done by holding down the menu button, and then in the window that appears - a service menu - clicking the reset option, then the factory option. Note that this is different from the reset option of the normal menu which doesn't have a factory reset capability... You MUST hold menu down for a few seconds.} +\item I tried on a downstairs thermostat, factory resetting it to new settings and again tried the Access point method. No further progress was made. + +\item Pretty much the only thing I didn't try, was to factory reset, disable WAC, and then use the Phone's access point. I also didn't try contractor mode (requires answering an email to complete the app install). I did not try a newer Android phone (my phone is too old / doesn't have Google apps). Overall, the only way to connect to the main wifi was to disable WAC. Connecting to a phone hotspot always worked. Poor Antenna? + +Based on this, I have come to the conclusion that these IoT devices, or wifi connected smart things, whatever they may be called, are young technologies and not mature enough to be used without bugs. The Nests, which were from a startup bought by Google, show that this kind of embedded device, with online capability, is new ground, and the space is open for startups to innovate. However, that was 2011, and the big players are now rushing to catch up with their own smart thermostats, cameras, light switches, etc... This means some care must be made with buying the smart devices. Some may be more mature than others. + +As for what I think the problem is, it's hard to say, but possibly wifi interference in this business location is causing these home devices to be unable to find the wifi. Or, it's simply faulty hardware. Possibly the iphones (two were tried overall) were unsupported, somehow. That's not acceptable in my view. + +I'm not impressed with the Honeywell T6 Pro devices, and the performance here shows it's simply not ready yet. + +\end{itemize} + +\textcolor{green!60!blue!70}{ + \section{End of Year Retrospective}} +Early IoT attempts. They can't all be winners. It's deceiving to see a large brand name on something like this, and think there is anything more than a small group of engineers behind it. I think when I called into their support I was probably talking to the engineers. + + + +\end{document} diff --git a/2018/Honeywell_T6_Pro_Review.pdf b/2018/Honeywell_T6_Pro/docs/Honeywell_T6_Pro_Review.pdf similarity index 100% rename from 2018/Honeywell_T6_Pro_Review.pdf rename to 2018/Honeywell_T6_Pro/docs/Honeywell_T6_Pro_Review.pdf diff --git a/2018/Honeywell_T6_Pro/docs/fin.pdf b/2018/Honeywell_T6_Pro/docs/fin.pdf new file mode 100644 index 0000000..94bac19 Binary files /dev/null and b/2018/Honeywell_T6_Pro/docs/fin.pdf differ diff --git a/2018/Honeywell_T6_Pro/docs/start6.tex b/2018/Honeywell_T6_Pro/docs/start6.tex new file mode 100644 index 0000000..49f463e --- /dev/null +++ b/2018/Honeywell_T6_Pro/docs/start6.tex @@ -0,0 +1,37 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\title{\textbf{Work Log: 12/03/18 Honeywell T6 Pro Thermostats}} +\author{} +\date{} +\begin{document} + +\maketitle +\emph{"The primary function of the design engineer is to make things +difficult for the fabricator and impossible for the serviceman."} +\section{Overview} +There are 5 Honeywell T6 Pro Thermostats in the Office, which have been installed to replace Google Nest devices. However, they are unable to connect to the wifi. The Nest devices did not have such an issue. + +\section{Details} + +What was tried: +\begin{itemize} +\item Changing Wifi settings from 2.4GHz and 5Ghz to 2.4GHz only (this was recommended by Honeywell docs, as the thermostats work on 2.4GHz only). I verified the wifi was on 2.4GHz only by restarting all APs, and checking with Wifi Analyzer. No effect. +\item Changing wifi settings to use WPA1 and WPA2 (in case this was a device without WPA2 support). Previously wifi was set to WPA2 only. No effect. +\item Read through all documentation for the Pro T6 thermostats to see if any other settings were required. Nothing of note was found. Documentation is lean. This is my biggest complaint. +\item Attempted to connect T6 to wifi by using Lyric (now honeywell home) app with iphone. Failed to complete. +\item Disabled a setting in the menus called WAC, which is a setting which automatically transfers credentials from an iphone to the T6 thermostat. At this point, I was required to change to the thermostats wifi access point, type in the password for the wifi manually into the Lyric app, where the wifi showed connected and the thermostat even said Success, indicating completion, however the app failed its side of the registration. This got me further, and I saw on the app that it said the Device had done a Geofencing, and had just come back online. However, it was not listed in the devices of the lyric app... Still no luck. +\item At this point, I called support, whom after 30-40 minutes of holding, I was directed by a tech of Resideo to use a phone's wifi hotspot, which should work in this situation (whenever the techs have seen this happen before, this has worked). During the holding time I worked on the network doc for the server rack. He also mentioned that if the device failed to configure like this, that \emph {it was necessary to call up Resideo to delete the device from their servers, as once it is 'half configured' it can't fully be configured.} Wow... +\item I attempted to use a 2nd phone outside of the iphone as the mobile hotspot, and to configure wifi on the Lyric aka Honewell Home app. WAC was enabled. I was able to get about as far as I did with the WAC. The device was able to see wifi, and I could see it connected to my phone... The thermostat even said "Success" and returned to the temperature screen, however the Honeywell Home app did not complete, and gave a failed error (finalizing registration was the last message it tried to complete - often multiple times). +\item I tried once or twice more, but was unsuccessful. At this point, I contacted support again, and while waiting on hold for 30-40 minutes worked with another office on their tech issues. Finally, support recommended I try some of the other thermostats in the office, and also recommended a factory reset. \footnote{(done by holding down the menu button, and then in the window that appears - a service menu - clicking the reset option, then the factory option. Note that this is different from the reset option of the normal menu which doesn't have a factory reset capability... You MUST hold menu down for a few seconds.} +\item I tried on a downstairs thermostat, factory resetting it to new settings and again tried the Access point method. No further progress was made. + +\item Pretty much the only thing I didn't try, was to factory reset, disable WAC, and then use the Phone's access point. I also didn't try contractor mode (requires answering an email to complete the app install). I did not try a newer Android phone (my phone is too old / doesn't have Google apps). Overall, the only way to connect to the main wifi was to disable WAC. Connecting to a phone hotspot always worked. Poor Antenna? + +Based on this, I have come to the conclusion that these IoT devices, or wifi connected smart things, whatever they may be called, are young technologies and not mature enough to be used without bugs. The Nests, which were from a startup bought by Google, show that this kind of embedded device, with online capability, is new ground, and the space is open for startups to innovate. However, that was 2011, and the big players are now rushing to catch up with their own smart thermostats, cameras, light switches, etc... This means some care must be made with buying the smart devices. Some may be more mature than others. + +As for what I think the problem is, it's hard to say, but possibly wifi interference in this business location is causing these home devices to be unable to find the wifi. Or, it's simply faulty hardware. Possibly the iphones (two were tried overall) were unsupported, somehow. That's not acceptable in my view. + +I'm not impressed with the Honeywell T6 Pro devices, and the performance here shows it's simply not ready yet. + +\end{itemize} +\end{document} diff --git a/2018/Running_Conduit/Conduit_Tips.pdf b/2018/Running_Conduit/Conduit_Tips.pdf deleted file mode 100644 index eae37d2..0000000 Binary files a/2018/Running_Conduit/Conduit_Tips.pdf and /dev/null differ diff --git a/2018/Running_Conduit/docs/4.aux b/2018/Running_Conduit/docs/4.aux new file mode 100644 index 0000000..6ac3d60 --- /dev/null +++ b/2018/Running_Conduit/docs/4.aux @@ -0,0 +1,4 @@ +\relax +\@writefile{toc}{\contentsline {section}{\numberline {1}Overview}{1}} +\@writefile{toc}{\contentsline {section}{\numberline {2}Conduit}{1}} +\@writefile{toc}{\contentsline {section}{\numberline {3}End of Year Review}{4}} diff --git a/2018/Running_Conduit/docs/4.log b/2018/Running_Conduit/docs/4.log new file mode 100644 index 0000000..32ac4e8 --- /dev/null +++ b/2018/Running_Conduit/docs/4.log @@ -0,0 +1,199 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 15 DEC 2019 20:02 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2018/Running_C +onduit/docs/4.tex + +(/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2018/Running_Co +nduit/docs/4.tex +LaTeX2e <2017/01/01> patch level 3 +Babel <3.9r> and hyphenation patterns for 3 language(s) loaded. +(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls +Document Class: article 2014/09/29 v1.4h Standard LaTeX document class +(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo +File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +(/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty +Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package xcolor Info: Driver file: pdftex.def on input line 225. + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2017/01/12 v0.06k Graphics/color for pdfTeX + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty +Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty +Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) +) +\Gread@gobject=\count87 +) +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. +Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352. +Package xcolor Info: Model `RGB' extended on input line 1364. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. +) +(/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty +Package: geometry 2010/09/12 v5.6 Page Geometry + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks14 +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2016/05/14 v3.1 Provides the ifpdf switch +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty +Package: ifvtex 2016/05/16 v1.6 Detect VTeX and its facilities (HO) +Package ifvtex Info: VTeX not detected. +) +(/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty +Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional +) +\Gm@cnth=\count88 +\Gm@cntv=\count89 +\c@Gm@tempcnt=\count90 +\Gm@bindingoffset=\dimen103 +\Gm@wd@mp=\dimen104 +\Gm@odd@mp=\dimen105 +\Gm@even@mp=\dimen106 +\Gm@layoutwidth=\dimen107 +\Gm@layoutheight=\dimen108 +\Gm@layouthoffset=\dimen109 +\Gm@layoutvoffset=\dimen110 +\Gm@dimlist=\toks15 +) (./4.aux) +\openout1 = `4.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. + +(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count91 +\scratchdimen=\dimen111 +\scratchbox=\box26 +\nofMPsegments=\count92 +\nofMParguments=\count93 +\everyMPshowfont=\toks16 +\MPscratchCnt=\count94 +\MPscratchDim=\dimen112 +\MPnumerator=\count95 +\makeMPintoPDFobject=\count96 +\everyMPtoPDFconversion=\toks17 +) +*geometry* detected driver: dvips +*geometry* verbose mode - [ preamble ] result: +* driver: dvips +* paper: custom +* layout: +* layoutoffset:(h,v)=(0.0pt,0.0pt) +* vratio: 1:1 +* modes: +* h-part:(L,W,R)=(54.2025pt, 325.215pt, 54.2025pt) +* v-part:(T,H,B)=(79.49689pt, 491.43622pt, 79.49689pt) +* \paperwidth=433.62pt +* \paperheight=650.43pt +* \textwidth=325.215pt +* \textheight=491.43622pt +* \oddsidemargin=-18.06749pt +* \evensidemargin=-18.06749pt +* \topmargin=-29.7731pt +* \headheight=12.0pt +* \headsep=25.0pt +* \topskip=11.0pt +* \footskip=30.0pt +* \marginparwidth=59.0pt +* \marginparsep=10.0pt +* \columnsep=10.0pt +* \skip\footins=10.0pt plus 4.0pt minus 2.0pt +* \hoffset=0.0pt +* \voffset=0.0pt +* \mag=1000 +* \@twocolumnfalse +* \@twosidefalse +* \@mparswitchfalse +* \@reversemarginfalse +* (1in=72.27pt=25.4mm, 1cm=28.453pt) + +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 11. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 11. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 11. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <10.95> on input line 16. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <9> on input line 16. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <5> on input line 16. + +Underfull \hbox (badness 10000) in paragraph at lines 22--24 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 25--27 + + [] + +[1 +Non-PDF special ignored! + +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] +[2] [3] [4] (./4.aux) ) +Here is how much of TeX's memory you used: + 1942 strings out of 494945 + 25496 string characters out of 6181032 + 90870 words of memory out of 5000000 + 5266 multiletter control sequences out of 15000+600000 + 9723 words of font info for 34 fonts, out of 8000000 for 9000 + 14 hyphenation exceptions out of 8191 + 24i,8n,35p,923b,189s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on 4.pdf (4 pages, 93684 bytes). +PDF statistics: + 45 PDF objects out of 1000 (max. 8388607) + 31 compressed objects within 1 object stream + 0 named destinations out of 1000 (max. 500000) + 1 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/2018/Running_Conduit/docs/4.pdf b/2018/Running_Conduit/docs/4.pdf new file mode 100644 index 0000000..a04b173 Binary files /dev/null and b/2018/Running_Conduit/docs/4.pdf differ diff --git a/2018/Running_Conduit/docs/4.tex b/2018/Running_Conduit/docs/4.tex new file mode 100644 index 0000000..e0aca45 --- /dev/null +++ b/2018/Running_Conduit/docs/4.tex @@ -0,0 +1,85 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\usepackage{xcolor} +\usepackage[vcentering,dvips]{geometry} +\geometry{papersize={6in,9in},total={4.5in,6.8in}} +\title{\textbf{Running Conduit - Tips}} +\author{Steak Electronics} +\date{} +\begin{document} + +\maketitle + +\textcolor{green!60!blue!70}{ +\section{Overview}} + +I recently took up running conduit for cable runs at the office. Here it's used for ethernet runs: CCTV, IoT, or general LANs. Here's what I learned early on.\footnote{Of course you can run mains through conduit, but I'll cover that later. Start with low voltage wiring.} + + +\textcolor{green!60!blue!70}{ +\section{Conduit}} + +Here are some general tips on Conduit: +\\ + +\textbf{Where conduit is hard:} Adding cabling to existing conduit, doing unusual bends, using thicker pipes (harder to bend) +\\ + +\textbf{Where conduit is easy:} The opposite: Cabling as you put up the conduit, doing only straight runs, 90 degree bends, and offset bends, and using 1/2" (smaller) conduit. + +\vspace{0.2in}\textcolor{green!60!blue!70}{ +\LARGE \textbf{Types of Pipe} \normalsize} +\vspace{0.2in} + +There are different kinds of conduit, based on the size of the pipe. The price increases with size. +\vspace{0.2in} + +1/2" pipe is good for one or two ethernet runs. + +3/4" pipe is good for 3 ethernet cables. + +1" pipe can run say, 6 ethernet cables. + +\vspace{0.2in} +Now, you can get away with more, but it's best to underspec, so you have room in case of future expansion. However, it's recommended to not add additional cables to the conduit afterwards, and instead use ethernet switches. + +\vspace{0.2in}\textcolor{green!60!blue!70}{ +\LARGE \textbf{How to Fish Conduit} \normalsize} +\vspace{0.2in} + +Ethernet cable should be led through conduit with steel fish tape. You can't use nylon string on existing conduit, unless you are going through small sections of straight conduit - fishing the string as you put up the conduit (new installs). For existing installs, or if you already put up some conduit and just need to get the wire through, use steel fish tape. The steel, allows you to pull AND push the ethernet cable, should it get stuck. However, let me say this: \textbf{fish the cable through each piece of conduit you put up as you go}. It's faster, and easier. This also means that future expansion is not nearly as practical. + +\vspace{0.2in}\textcolor{green!60!blue!70}{ +\LARGE \textbf{Couplers} \normalsize} +\vspace{0.2in} + +The ideal coupler has the pipes inside sitting flush against each other, but some couplers have a notch in the middle between them. Those aren't as good, as the notch is a gap where ethernet cable will catch when pulling through. Not an issue if you cable as you go, but a problem for running cable through existing conduit. + +\vspace{0.2in}\textcolor{green!60!blue!70}{ +\LARGE \textbf{Boxes} \normalsize} +\vspace{0.2in} + +Use the deeper, larger electrical boxes. They usually come in a few sizes. The additional space, makes everything easier. Use frequent boxes if you plan to expand more cables later, so you can access everything inside. Use boxes where you will have an ethernet switch or outlet, or need to branch out... + +\vspace{0.2in}\textcolor{green!60!blue!70}{ +\LARGE \textbf{Bendy Conduit} \normalsize} +\vspace{0.2in} + +Bendable or Bendy conduit\footnote{There are a couple different kinds of this, and its something I'm still figuring out.} is sized one size bigger than it's listed. So if you buy 3/4" conduit, you get a 1" size bendable pipe, with 1/4" the bendy part. This means you must size boxes accordingly. Supposedly, you must buy the specific bendy conduit connectors, but you can fit a 3/4" bendy conduit, in a 1" hole in an electrical box in a pinch. You can also use a coupler (for standard pipe) sized one size bigger, in a pinch. Not as professional looking, but it works. + +\vspace{0.2in}\textcolor{green!60!blue!70}{ +\LARGE \textbf{Grease} \normalsize} +\vspace{0.2in} + +They sell grease, but its a mess, and I wouldn't use it. Not only will it get all inside the pipe, but all over your hands as you pull the wire through. You shouldn't run new wires through existing conduit. One of the problems is that you might wrap the ethernet cable in electrical tape, but tape is rubber, and sticks to the metal. What you want is some kind of slidy, metal surface that doesn't stick to metal on the front of the ethernet cable. + +\vspace{0.2in}\textcolor{green!60!blue!70}{ +\LARGE \textbf{Fish Tape and Plastic Ends} \normalsize} +\vspace{0.2in} + +There is a little piece of plastic on my fish tape at the end. When running through existing small conduit, that plastic is a problem, as it hits wires, and couplers, catching. Solution: Remove the plastic piece. However, there are times when you want something plastic at the end of the metal fish tape. I.e. when you are running fish tape through the bendable conduit. In that case, put some electrical tape at the end of the conduit. This little trick can be the difference between barely fishing, and not getting through the pipe. The idea is, it's removable depending on your need. This is primarily for fishing through existing conduit. Again, you can't use nylon string to pull wire through conduit, you need metal fish tape. That is because metal fish tape can be pushed back and forth, but nylon string can only pull. + +\textcolor{green!60!blue!70}{ + \section{End of Year Review}} +Being a maintenance / IT / electronics engineer at my company, I get to wear a lot of hats, and conduit is one of them. I'm about to run some new conduit, and a few things make it easier, which I learned already. Use the smaller conduits. For awkward turns and bends use bendable conduit. Don't waste time trying complex bends on small runs. Light switches can always go before an outlet to control it on/off. This means you can have as many on/off switches you want. 120V Mains and conduit are easy if you are an EE, but I will cover this is a later document. +\end{document} diff --git a/2018/Running_Conduit/docs/4.tex~ b/2018/Running_Conduit/docs/4.tex~ new file mode 100644 index 0000000..cd676a3 --- /dev/null +++ b/2018/Running_Conduit/docs/4.tex~ @@ -0,0 +1,77 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\title{\textbf{Running Conduit - Tips}} +\author{Steak Electronics} +\date{} +\begin{document} + +\maketitle + +\section{Overview} + +I recently took up running conduit for cable runs at the office. This is used for ethernet runs: CCTV, IoT, or general LANs. Here's what I learned early on. + + + +\section{Conduit} + +Here's general tips on Conduit: + + +\textbf{Where conduit is hard:} Adding cabling to existing conduit, doing unusual bends, using thicker pipes (harder to bend) + +\textbf{Where conduit is easy:} The opposite: Cabling as you put up the conduit, doing only straight runs, 90 degree bends, and offset bends, and using 1/2" conduit. + +\vspace{0.2in} +\LARGE \textbf{Types of Pipe} \normalsize +\vspace{0.2in} + +There are different kinds of conduit, based on the size of the pipe. The price increases with size. +\vspace{0.2in} + +1/2" pipe is good for one or two ethernet runs. + +3/4" pipe is good for 3 ethernet cables. + +1" pipe can run say, 6 ethernet cables. + +\vspace{0.2in} +Now, you can get away with more, but it's best to underspec, so you have room in case of future expansion. However, it's recommended to not add additional cables to the conduit afterwards, and instead use ethernet switches. + +\vspace{0.2in} +\LARGE \textbf{How to Fish Conduit} \normalsize +\vspace{0.2in} + +Ethernet cable should be led through conduit with steel fish tape. You can't use nylon string on existing conduit, unless you are going through small sections of straight conduit - fishing the string as you put up the conduit (new installs). For existing installs, or if you already put up some conduit and just need to get the wire through, use steel fish tape. The steel, allows you to pull AND push the ethernet cable, should it get stuck. However, let me say this: \textbf{fish the cable through each piece of conduit you put up as you go}. It's faster, and easier. This also means that future expansion is not nearly as practical. + +\vspace{0.2in} +\LARGE \textbf{Couplers} \normalsize +\vspace{0.2in} + +The ideal coupler has the pipes inside sitting flush against each other, but some couplers have a notch in the middle between them. Those aren't as good, as the notch is a gap where ethernet cable will catch when pulling through. Not an issue if you cable as you go, but a problem for running cable through existing conduit. + +\vspace{0.2in} +\LARGE \textbf{Boxes} \normalsize +\vspace{0.2in} + +Use the deeper, larger electrical boxes. They usually come in a few sizes. The additional space, makes everything easier. Use frequent boxes if you plan to expand more cables later, so you can access everything inside. Use boxes where you will have an ethernet switch or outlet, or need to branch out... + +\vspace{0.2in} +\LARGE \textbf{Bendy Conduit} \normalsize +\vspace{0.2in} + +Bendable or Bendy conduit is sized one size bigger than it's listed. So if you buy 3/4" conduit, you get a 1" size bendable pipe, with 1/4" the bendy part. This means you must size boxes accordingly. Supposedly, you must buy the specific bendy conduit connectors, but you can fit a 3/4" bendy conduit, in a 1" hole in an electrical box in a pinch. You can also use a coupler (for standard pipe) sized one size bigger, in a pinch. Not as professional looking, but it works. + +\vspace{0.2in} +\LARGE \textbf{Grease} \normalsize +\vspace{0.2in} + +They sell grease, but its a mess, and I wouldn't use it. Not only will it get all inside the pipe, but all over your hands as you pull the wire through. You shouldn't run new wires through existing conduit. One of the problems is that you might wrap the ethernet cable in electrical tape, but tape is rubber, and sticks to the metal. What you want is some kind of slidy, metal surface that doesn't stick to metal on the front of the ethernet cable. + +\vspace{0.2in} +\LARGE \textbf{Fish Tape and Plastic Ends} \normalsize +\vspace{0.2in} + +There is a little piece of plastic on my fish tape at the end. When running through existing small conduit, that plastic is a problem, as it hits wires, and couplers, catching. Solution: Remove the plastic piece. However, there are times when you want something plastic at the end of the metal fish tape. I.e. when you are running fish tape through the bendable conduit. In that case, put some electrical tape at the end of the conduit. This little trick can be the difference between barely fishing, and not getting through the pipe. The idea is, it's removable depending on your need. This is primarily for fishing through existing conduit. Again, you can't use nylon string to pull wire through conduit, you need metal fish tape. That is because metal fish tape can be pushed back and forth, but nylon string can only pull. + +\end{document} diff --git a/2018/Running_Conduit/docs/5.aux b/2018/Running_Conduit/docs/5.aux new file mode 100644 index 0000000..6ac3d60 --- /dev/null +++ b/2018/Running_Conduit/docs/5.aux @@ -0,0 +1,4 @@ +\relax +\@writefile{toc}{\contentsline {section}{\numberline {1}Overview}{1}} +\@writefile{toc}{\contentsline {section}{\numberline {2}Conduit}{1}} +\@writefile{toc}{\contentsline {section}{\numberline {3}End of Year Review}{4}} diff --git a/2018/Running_Conduit/docs/5.log b/2018/Running_Conduit/docs/5.log new file mode 100644 index 0000000..ab15be9 --- /dev/null +++ b/2018/Running_Conduit/docs/5.log @@ -0,0 +1,199 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 17 JAN 2020 20:37 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2018/Running_C +onduit/docs/5.tex + +(/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2018/Running_Co +nduit/docs/5.tex +LaTeX2e <2017/01/01> patch level 3 +Babel <3.9r> and hyphenation patterns for 3 language(s) loaded. +(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls +Document Class: article 2014/09/29 v1.4h Standard LaTeX document class +(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo +File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +(/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty +Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package xcolor Info: Driver file: pdftex.def on input line 225. + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2017/01/12 v0.06k Graphics/color for pdfTeX + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty +Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty +Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) +) +\Gread@gobject=\count87 +) +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. +Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352. +Package xcolor Info: Model `RGB' extended on input line 1364. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. +) +(/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty +Package: geometry 2010/09/12 v5.6 Page Geometry + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks14 +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2016/05/14 v3.1 Provides the ifpdf switch +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty +Package: ifvtex 2016/05/16 v1.6 Detect VTeX and its facilities (HO) +Package ifvtex Info: VTeX not detected. +) +(/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty +Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional +) +\Gm@cnth=\count88 +\Gm@cntv=\count89 +\c@Gm@tempcnt=\count90 +\Gm@bindingoffset=\dimen103 +\Gm@wd@mp=\dimen104 +\Gm@odd@mp=\dimen105 +\Gm@even@mp=\dimen106 +\Gm@layoutwidth=\dimen107 +\Gm@layoutheight=\dimen108 +\Gm@layouthoffset=\dimen109 +\Gm@layoutvoffset=\dimen110 +\Gm@dimlist=\toks15 +) (./5.aux) +\openout1 = `5.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. + +(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count91 +\scratchdimen=\dimen111 +\scratchbox=\box26 +\nofMPsegments=\count92 +\nofMParguments=\count93 +\everyMPshowfont=\toks16 +\MPscratchCnt=\count94 +\MPscratchDim=\dimen112 +\MPnumerator=\count95 +\makeMPintoPDFobject=\count96 +\everyMPtoPDFconversion=\toks17 +) +*geometry* detected driver: dvips +*geometry* verbose mode - [ preamble ] result: +* driver: dvips +* paper: custom +* layout: +* layoutoffset:(h,v)=(0.0pt,0.0pt) +* vratio: 1:1 +* modes: +* h-part:(L,W,R)=(54.2025pt, 325.215pt, 54.2025pt) +* v-part:(T,H,B)=(79.49689pt, 491.43622pt, 79.49689pt) +* \paperwidth=433.62pt +* \paperheight=650.43pt +* \textwidth=325.215pt +* \textheight=491.43622pt +* \oddsidemargin=-18.06749pt +* \evensidemargin=-18.06749pt +* \topmargin=-29.7731pt +* \headheight=12.0pt +* \headsep=25.0pt +* \topskip=11.0pt +* \footskip=30.0pt +* \marginparwidth=59.0pt +* \marginparsep=10.0pt +* \columnsep=10.0pt +* \skip\footins=10.0pt plus 4.0pt minus 2.0pt +* \hoffset=0.0pt +* \voffset=0.0pt +* \mag=1000 +* \@twocolumnfalse +* \@twosidefalse +* \@mparswitchfalse +* \@reversemarginfalse +* (1in=72.27pt=25.4mm, 1cm=28.453pt) + +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 11. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 11. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 11. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <10.95> on input line 16. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <9> on input line 16. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <5> on input line 16. + +Underfull \hbox (badness 10000) in paragraph at lines 22--24 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 25--27 + + [] + +[1 +Non-PDF special ignored! + +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] +[2] [3] [4] (./5.aux) ) +Here is how much of TeX's memory you used: + 1942 strings out of 494945 + 25496 string characters out of 6181032 + 90870 words of memory out of 5000000 + 5266 multiletter control sequences out of 15000+600000 + 9723 words of font info for 34 fonts, out of 8000000 for 9000 + 14 hyphenation exceptions out of 8191 + 24i,8n,35p,923b,189s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on 5.pdf (4 pages, 95810 bytes). +PDF statistics: + 45 PDF objects out of 1000 (max. 8388607) + 31 compressed objects within 1 object stream + 0 named destinations out of 1000 (max. 500000) + 1 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/2018/Running_Conduit/docs/5.pdf b/2018/Running_Conduit/docs/5.pdf new file mode 100644 index 0000000..60c1d3e Binary files /dev/null and b/2018/Running_Conduit/docs/5.pdf differ diff --git a/2018/Running_Conduit/docs/5.tex b/2018/Running_Conduit/docs/5.tex new file mode 100644 index 0000000..02fe5d0 --- /dev/null +++ b/2018/Running_Conduit/docs/5.tex @@ -0,0 +1,85 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\usepackage{xcolor} +\usepackage[vcentering,dvips]{geometry} +\geometry{papersize={6in,9in},total={4.5in,6.8in}} +\title{\textbf{Running Conduit - Tips}} +\author{Steak Electronics} +\date{} +\begin{document} + +\maketitle + +\textcolor{green!60!blue!70}{ +\section{Overview}} + +I recently took up running conduit for cable runs at the office. Here it's used for ethernet runs: CCTV, IoT, or general LANs. Here's what I learned early on.\footnote{Of course you can run mains through conduit, but I'll cover that later. Start with low voltage wiring.} + + +\textcolor{green!60!blue!70}{ +\section{Conduit}} + +Here are some general tips on Conduit: +\\ + +\textbf{Where conduit is hard:} Adding cabling to existing conduit, doing unusual bends, using thicker pipes (harder to bend) +\\ + +\textbf{Where conduit is easy:} The opposite: Cabling as you put up the conduit, doing only straight runs, 90 degree bends, and offset bends, and using 1/2" (smaller) conduit. + +\vspace{0.2in}\textcolor{green!60!blue!70}{ +\LARGE \textbf{Types of Pipe} \normalsize} +\vspace{0.2in} + +There are different kinds of conduit, based on the size of the pipe. The price increases with size. +\vspace{0.2in} + +1/2" pipe is good for one or two ethernet runs. + +3/4" pipe is good for 3 ethernet cables. + +1" pipe can run say, 6 ethernet cables. + +\vspace{0.2in} +Now, you can get away with more, but it's best to underspec, so you have room in case of future expansion. However, it's recommended to not add additional cables to the conduit afterwards, and instead use ethernet switches. + +\vspace{0.2in}\textcolor{green!60!blue!70}{ +\LARGE \textbf{How to Fish Conduit} \normalsize} +\vspace{0.2in} + +Ethernet cable should be led through conduit with steel fish tape. You can't use nylon string on existing conduit, unless you are going through small sections of straight conduit - fishing the string as you put up the conduit (new installs). For existing installs, or if you already put up some conduit and just need to get the wire through, use steel fish tape. The steel, allows you to pull AND push the ethernet cable, should it get stuck. However, let me say this: \textbf{fish the cable through each piece of conduit you put up as you go}. It's faster, and easier. This also means that future expansion is not nearly as practical. + +\vspace{0.2in}\textcolor{green!60!blue!70}{ +\LARGE \textbf{Couplers} \normalsize} +\vspace{0.2in} + +The ideal coupler has the pipes inside sitting flush against each other, but some couplers have a notch in the middle between them. Those aren't as good, as the notch is a gap where ethernet cable will catch when pulling through. Not an issue if you cable as you go, but a problem for running cable through existing conduit. + +\vspace{0.2in}\textcolor{green!60!blue!70}{ +\LARGE \textbf{Boxes} \normalsize} +\vspace{0.2in} + +Use the deeper, larger electrical boxes. They usually come in a few sizes. The additional space, makes everything easier. Use frequent boxes if you plan to expand more cables later, so you can access everything inside. Use boxes where you will have an ethernet switch or outlet, or need to branch out... + +\vspace{0.2in}\textcolor{green!60!blue!70}{ +\LARGE \textbf{Bendy Conduit} \normalsize} +\vspace{0.2in} + +Bendable or Bendy conduit\footnote{There are a couple different kinds of this, and its something I'm still figuring out.} is sized one size bigger than it's listed. So if you buy 3/4" conduit, you get a 1" size bendable pipe, with 1/4" the bendy part. This means you must size boxes accordingly. Supposedly, you must buy the specific bendy conduit connectors, but you can fit a 3/4" bendy conduit, in a 1" hole in an electrical box in a pinch. You can also use a coupler (for standard pipe) sized one size bigger, in a pinch. Not as professional looking, but it works.\footnote{Low voltage only, of course. The correct (codewise) connectors for (mains-wire) flexible conduit are the ones that clamp down. You can adjust the screw as needed to adjust.} + +\vspace{0.2in}\textcolor{green!60!blue!70}{ +\LARGE \textbf{Grease} \normalsize} +\vspace{0.2in} + +They sell grease, but its a mess, and I wouldn't use it. Not only will it get all inside the pipe, but all over your hands as you pull the wire through. You shouldn't run new wires through existing conduit. One of the problems is that you might wrap the ethernet cable in electrical tape, but tape is rubber, and sticks to the metal. What you want is some kind of slidy, metal surface that doesn't stick to metal on the front of the ethernet cable. + +\vspace{0.2in}\textcolor{green!60!blue!70}{ +\LARGE \textbf{Fish Tape and Plastic Ends} \normalsize} +\vspace{0.2in} + +There is a little piece of plastic on my fish tape at the end. When running through existing small conduit, that plastic is a problem, as it hits wires, and couplers, catching. Solution: Remove the plastic piece. However, there are times when you want something plastic at the end of the metal fish tape. I.e. when you are running fish tape through the bendable conduit. In that case, put some electrical tape at the end of the conduit. This little trick can be the difference between barely fishing, and not getting through the pipe. The idea is, it's removable depending on your need. This is primarily for fishing through existing conduit. Again, you can't use nylon string to pull wire through conduit, you need metal fish tape. That is because metal fish tape can be pushed back and forth, but nylon string can only pull. + +\textcolor{green!60!blue!70}{ + \section{End of Year Review}} +Being a maintenance / IT / electronics engineer at my company, I get to wear a lot of hats, and conduit is one of them. I'm about to run some new conduit, and a few things make it easier, which I learned already. Use the smaller conduits. For awkward turns and bends use bendable conduit. Don't waste time trying complex bends on small runs. Light switches can always go before an outlet to control it on/off. This means you can have as many on/off switches you want. 120V Mains and conduit are easy if you are an EE, but I will cover this is a later document. +\end{document} diff --git a/2018/Running_Conduit/docs/5.tex~ b/2018/Running_Conduit/docs/5.tex~ new file mode 100644 index 0000000..e0aca45 --- /dev/null +++ b/2018/Running_Conduit/docs/5.tex~ @@ -0,0 +1,85 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\usepackage{xcolor} +\usepackage[vcentering,dvips]{geometry} +\geometry{papersize={6in,9in},total={4.5in,6.8in}} +\title{\textbf{Running Conduit - Tips}} +\author{Steak Electronics} +\date{} +\begin{document} + +\maketitle + +\textcolor{green!60!blue!70}{ +\section{Overview}} + +I recently took up running conduit for cable runs at the office. Here it's used for ethernet runs: CCTV, IoT, or general LANs. Here's what I learned early on.\footnote{Of course you can run mains through conduit, but I'll cover that later. Start with low voltage wiring.} + + +\textcolor{green!60!blue!70}{ +\section{Conduit}} + +Here are some general tips on Conduit: +\\ + +\textbf{Where conduit is hard:} Adding cabling to existing conduit, doing unusual bends, using thicker pipes (harder to bend) +\\ + +\textbf{Where conduit is easy:} The opposite: Cabling as you put up the conduit, doing only straight runs, 90 degree bends, and offset bends, and using 1/2" (smaller) conduit. + +\vspace{0.2in}\textcolor{green!60!blue!70}{ +\LARGE \textbf{Types of Pipe} \normalsize} +\vspace{0.2in} + +There are different kinds of conduit, based on the size of the pipe. The price increases with size. +\vspace{0.2in} + +1/2" pipe is good for one or two ethernet runs. + +3/4" pipe is good for 3 ethernet cables. + +1" pipe can run say, 6 ethernet cables. + +\vspace{0.2in} +Now, you can get away with more, but it's best to underspec, so you have room in case of future expansion. However, it's recommended to not add additional cables to the conduit afterwards, and instead use ethernet switches. + +\vspace{0.2in}\textcolor{green!60!blue!70}{ +\LARGE \textbf{How to Fish Conduit} \normalsize} +\vspace{0.2in} + +Ethernet cable should be led through conduit with steel fish tape. You can't use nylon string on existing conduit, unless you are going through small sections of straight conduit - fishing the string as you put up the conduit (new installs). For existing installs, or if you already put up some conduit and just need to get the wire through, use steel fish tape. The steel, allows you to pull AND push the ethernet cable, should it get stuck. However, let me say this: \textbf{fish the cable through each piece of conduit you put up as you go}. It's faster, and easier. This also means that future expansion is not nearly as practical. + +\vspace{0.2in}\textcolor{green!60!blue!70}{ +\LARGE \textbf{Couplers} \normalsize} +\vspace{0.2in} + +The ideal coupler has the pipes inside sitting flush against each other, but some couplers have a notch in the middle between them. Those aren't as good, as the notch is a gap where ethernet cable will catch when pulling through. Not an issue if you cable as you go, but a problem for running cable through existing conduit. + +\vspace{0.2in}\textcolor{green!60!blue!70}{ +\LARGE \textbf{Boxes} \normalsize} +\vspace{0.2in} + +Use the deeper, larger electrical boxes. They usually come in a few sizes. The additional space, makes everything easier. Use frequent boxes if you plan to expand more cables later, so you can access everything inside. Use boxes where you will have an ethernet switch or outlet, or need to branch out... + +\vspace{0.2in}\textcolor{green!60!blue!70}{ +\LARGE \textbf{Bendy Conduit} \normalsize} +\vspace{0.2in} + +Bendable or Bendy conduit\footnote{There are a couple different kinds of this, and its something I'm still figuring out.} is sized one size bigger than it's listed. So if you buy 3/4" conduit, you get a 1" size bendable pipe, with 1/4" the bendy part. This means you must size boxes accordingly. Supposedly, you must buy the specific bendy conduit connectors, but you can fit a 3/4" bendy conduit, in a 1" hole in an electrical box in a pinch. You can also use a coupler (for standard pipe) sized one size bigger, in a pinch. Not as professional looking, but it works. + +\vspace{0.2in}\textcolor{green!60!blue!70}{ +\LARGE \textbf{Grease} \normalsize} +\vspace{0.2in} + +They sell grease, but its a mess, and I wouldn't use it. Not only will it get all inside the pipe, but all over your hands as you pull the wire through. You shouldn't run new wires through existing conduit. One of the problems is that you might wrap the ethernet cable in electrical tape, but tape is rubber, and sticks to the metal. What you want is some kind of slidy, metal surface that doesn't stick to metal on the front of the ethernet cable. + +\vspace{0.2in}\textcolor{green!60!blue!70}{ +\LARGE \textbf{Fish Tape and Plastic Ends} \normalsize} +\vspace{0.2in} + +There is a little piece of plastic on my fish tape at the end. When running through existing small conduit, that plastic is a problem, as it hits wires, and couplers, catching. Solution: Remove the plastic piece. However, there are times when you want something plastic at the end of the metal fish tape. I.e. when you are running fish tape through the bendable conduit. In that case, put some electrical tape at the end of the conduit. This little trick can be the difference between barely fishing, and not getting through the pipe. The idea is, it's removable depending on your need. This is primarily for fishing through existing conduit. Again, you can't use nylon string to pull wire through conduit, you need metal fish tape. That is because metal fish tape can be pushed back and forth, but nylon string can only pull. + +\textcolor{green!60!blue!70}{ + \section{End of Year Review}} +Being a maintenance / IT / electronics engineer at my company, I get to wear a lot of hats, and conduit is one of them. I'm about to run some new conduit, and a few things make it easier, which I learned already. Use the smaller conduits. For awkward turns and bends use bendable conduit. Don't waste time trying complex bends on small runs. Light switches can always go before an outlet to control it on/off. This means you can have as many on/off switches you want. 120V Mains and conduit are easy if you are an EE, but I will cover this is a later document. +\end{document} diff --git a/2018/Running_Conduit/docs/6.aux b/2018/Running_Conduit/docs/6.aux new file mode 100644 index 0000000..6ac3d60 --- /dev/null +++ b/2018/Running_Conduit/docs/6.aux @@ -0,0 +1,4 @@ +\relax +\@writefile{toc}{\contentsline {section}{\numberline {1}Overview}{1}} +\@writefile{toc}{\contentsline {section}{\numberline {2}Conduit}{1}} +\@writefile{toc}{\contentsline {section}{\numberline {3}End of Year Review}{4}} diff --git a/2018/Running_Conduit/docs/6.log b/2018/Running_Conduit/docs/6.log new file mode 100644 index 0000000..5fa0027 --- /dev/null +++ b/2018/Running_Conduit/docs/6.log @@ -0,0 +1,199 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 17 JAN 2020 20:37 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2018/Running_C +onduit/docs/6.tex + +(/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2018/Running_Co +nduit/docs/6.tex +LaTeX2e <2017/01/01> patch level 3 +Babel <3.9r> and hyphenation patterns for 3 language(s) loaded. +(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls +Document Class: article 2014/09/29 v1.4h Standard LaTeX document class +(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo +File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +(/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty +Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package xcolor Info: Driver file: pdftex.def on input line 225. + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2017/01/12 v0.06k Graphics/color for pdfTeX + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty +Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty +Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) +) +\Gread@gobject=\count87 +) +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. +Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352. +Package xcolor Info: Model `RGB' extended on input line 1364. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. +) +(/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty +Package: geometry 2010/09/12 v5.6 Page Geometry + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks14 +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2016/05/14 v3.1 Provides the ifpdf switch +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty +Package: ifvtex 2016/05/16 v1.6 Detect VTeX and its facilities (HO) +Package ifvtex Info: VTeX not detected. +) +(/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty +Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional +) +\Gm@cnth=\count88 +\Gm@cntv=\count89 +\c@Gm@tempcnt=\count90 +\Gm@bindingoffset=\dimen103 +\Gm@wd@mp=\dimen104 +\Gm@odd@mp=\dimen105 +\Gm@even@mp=\dimen106 +\Gm@layoutwidth=\dimen107 +\Gm@layoutheight=\dimen108 +\Gm@layouthoffset=\dimen109 +\Gm@layoutvoffset=\dimen110 +\Gm@dimlist=\toks15 +) (./6.aux) +\openout1 = `6.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. + +(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count91 +\scratchdimen=\dimen111 +\scratchbox=\box26 +\nofMPsegments=\count92 +\nofMParguments=\count93 +\everyMPshowfont=\toks16 +\MPscratchCnt=\count94 +\MPscratchDim=\dimen112 +\MPnumerator=\count95 +\makeMPintoPDFobject=\count96 +\everyMPtoPDFconversion=\toks17 +) +*geometry* detected driver: dvips +*geometry* verbose mode - [ preamble ] result: +* driver: dvips +* paper: custom +* layout: +* layoutoffset:(h,v)=(0.0pt,0.0pt) +* vratio: 1:1 +* modes: +* h-part:(L,W,R)=(54.2025pt, 325.215pt, 54.2025pt) +* v-part:(T,H,B)=(79.49689pt, 491.43622pt, 79.49689pt) +* \paperwidth=433.62pt +* \paperheight=650.43pt +* \textwidth=325.215pt +* \textheight=491.43622pt +* \oddsidemargin=-18.06749pt +* \evensidemargin=-18.06749pt +* \topmargin=-29.7731pt +* \headheight=12.0pt +* \headsep=25.0pt +* \topskip=11.0pt +* \footskip=30.0pt +* \marginparwidth=59.0pt +* \marginparsep=10.0pt +* \columnsep=10.0pt +* \skip\footins=10.0pt plus 4.0pt minus 2.0pt +* \hoffset=0.0pt +* \voffset=0.0pt +* \mag=1000 +* \@twocolumnfalse +* \@twosidefalse +* \@mparswitchfalse +* \@reversemarginfalse +* (1in=72.27pt=25.4mm, 1cm=28.453pt) + +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 11. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 11. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 11. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <10.95> on input line 16. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <9> on input line 16. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <5> on input line 16. + +Underfull \hbox (badness 10000) in paragraph at lines 22--24 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 25--27 + + [] + +[1 +Non-PDF special ignored! + +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] +[2] [3] [4] (./6.aux) ) +Here is how much of TeX's memory you used: + 1942 strings out of 494945 + 25496 string characters out of 6181032 + 90870 words of memory out of 5000000 + 5266 multiletter control sequences out of 15000+600000 + 9723 words of font info for 34 fonts, out of 8000000 for 9000 + 14 hyphenation exceptions out of 8191 + 24i,8n,35p,923b,189s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on 6.pdf (4 pages, 95810 bytes). +PDF statistics: + 45 PDF objects out of 1000 (max. 8388607) + 31 compressed objects within 1 object stream + 0 named destinations out of 1000 (max. 500000) + 1 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/2018/Running_Conduit/docs/6.pdf b/2018/Running_Conduit/docs/6.pdf new file mode 100644 index 0000000..95e6a80 Binary files /dev/null and b/2018/Running_Conduit/docs/6.pdf differ diff --git a/2018/Running_Conduit/docs/6.tex b/2018/Running_Conduit/docs/6.tex new file mode 100644 index 0000000..02fe5d0 --- /dev/null +++ b/2018/Running_Conduit/docs/6.tex @@ -0,0 +1,85 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\usepackage{xcolor} +\usepackage[vcentering,dvips]{geometry} +\geometry{papersize={6in,9in},total={4.5in,6.8in}} +\title{\textbf{Running Conduit - Tips}} +\author{Steak Electronics} +\date{} +\begin{document} + +\maketitle + +\textcolor{green!60!blue!70}{ +\section{Overview}} + +I recently took up running conduit for cable runs at the office. Here it's used for ethernet runs: CCTV, IoT, or general LANs. Here's what I learned early on.\footnote{Of course you can run mains through conduit, but I'll cover that later. Start with low voltage wiring.} + + +\textcolor{green!60!blue!70}{ +\section{Conduit}} + +Here are some general tips on Conduit: +\\ + +\textbf{Where conduit is hard:} Adding cabling to existing conduit, doing unusual bends, using thicker pipes (harder to bend) +\\ + +\textbf{Where conduit is easy:} The opposite: Cabling as you put up the conduit, doing only straight runs, 90 degree bends, and offset bends, and using 1/2" (smaller) conduit. + +\vspace{0.2in}\textcolor{green!60!blue!70}{ +\LARGE \textbf{Types of Pipe} \normalsize} +\vspace{0.2in} + +There are different kinds of conduit, based on the size of the pipe. The price increases with size. +\vspace{0.2in} + +1/2" pipe is good for one or two ethernet runs. + +3/4" pipe is good for 3 ethernet cables. + +1" pipe can run say, 6 ethernet cables. + +\vspace{0.2in} +Now, you can get away with more, but it's best to underspec, so you have room in case of future expansion. However, it's recommended to not add additional cables to the conduit afterwards, and instead use ethernet switches. + +\vspace{0.2in}\textcolor{green!60!blue!70}{ +\LARGE \textbf{How to Fish Conduit} \normalsize} +\vspace{0.2in} + +Ethernet cable should be led through conduit with steel fish tape. You can't use nylon string on existing conduit, unless you are going through small sections of straight conduit - fishing the string as you put up the conduit (new installs). For existing installs, or if you already put up some conduit and just need to get the wire through, use steel fish tape. The steel, allows you to pull AND push the ethernet cable, should it get stuck. However, let me say this: \textbf{fish the cable through each piece of conduit you put up as you go}. It's faster, and easier. This also means that future expansion is not nearly as practical. + +\vspace{0.2in}\textcolor{green!60!blue!70}{ +\LARGE \textbf{Couplers} \normalsize} +\vspace{0.2in} + +The ideal coupler has the pipes inside sitting flush against each other, but some couplers have a notch in the middle between them. Those aren't as good, as the notch is a gap where ethernet cable will catch when pulling through. Not an issue if you cable as you go, but a problem for running cable through existing conduit. + +\vspace{0.2in}\textcolor{green!60!blue!70}{ +\LARGE \textbf{Boxes} \normalsize} +\vspace{0.2in} + +Use the deeper, larger electrical boxes. They usually come in a few sizes. The additional space, makes everything easier. Use frequent boxes if you plan to expand more cables later, so you can access everything inside. Use boxes where you will have an ethernet switch or outlet, or need to branch out... + +\vspace{0.2in}\textcolor{green!60!blue!70}{ +\LARGE \textbf{Bendy Conduit} \normalsize} +\vspace{0.2in} + +Bendable or Bendy conduit\footnote{There are a couple different kinds of this, and its something I'm still figuring out.} is sized one size bigger than it's listed. So if you buy 3/4" conduit, you get a 1" size bendable pipe, with 1/4" the bendy part. This means you must size boxes accordingly. Supposedly, you must buy the specific bendy conduit connectors, but you can fit a 3/4" bendy conduit, in a 1" hole in an electrical box in a pinch. You can also use a coupler (for standard pipe) sized one size bigger, in a pinch. Not as professional looking, but it works.\footnote{Low voltage only, of course. The correct (codewise) connectors for (mains-wire) flexible conduit are the ones that clamp down. You can adjust the screw as needed to adjust.} + +\vspace{0.2in}\textcolor{green!60!blue!70}{ +\LARGE \textbf{Grease} \normalsize} +\vspace{0.2in} + +They sell grease, but its a mess, and I wouldn't use it. Not only will it get all inside the pipe, but all over your hands as you pull the wire through. You shouldn't run new wires through existing conduit. One of the problems is that you might wrap the ethernet cable in electrical tape, but tape is rubber, and sticks to the metal. What you want is some kind of slidy, metal surface that doesn't stick to metal on the front of the ethernet cable. + +\vspace{0.2in}\textcolor{green!60!blue!70}{ +\LARGE \textbf{Fish Tape and Plastic Ends} \normalsize} +\vspace{0.2in} + +There is a little piece of plastic on my fish tape at the end. When running through existing small conduit, that plastic is a problem, as it hits wires, and couplers, catching. Solution: Remove the plastic piece. However, there are times when you want something plastic at the end of the metal fish tape. I.e. when you are running fish tape through the bendable conduit. In that case, put some electrical tape at the end of the conduit. This little trick can be the difference between barely fishing, and not getting through the pipe. The idea is, it's removable depending on your need. This is primarily for fishing through existing conduit. Again, you can't use nylon string to pull wire through conduit, you need metal fish tape. That is because metal fish tape can be pushed back and forth, but nylon string can only pull. + +\textcolor{green!60!blue!70}{ + \section{End of Year Review}} +Being a maintenance / IT / electronics engineer at my company, I get to wear a lot of hats, and conduit is one of them. I'm about to run some new conduit, and a few things make it easier, which I learned already. Use the smaller conduits. For awkward turns and bends use bendable conduit. Don't waste time trying complex bends on small runs. Light switches can always go before an outlet to control it on/off. This means you can have as many on/off switches you want. 120V Mains and conduit are easy if you are an EE, but I will cover this is a later document. +\end{document} diff --git a/2018/Running_Conduit/docs/7.aux b/2018/Running_Conduit/docs/7.aux new file mode 100644 index 0000000..6ac3d60 --- /dev/null +++ b/2018/Running_Conduit/docs/7.aux @@ -0,0 +1,4 @@ +\relax +\@writefile{toc}{\contentsline {section}{\numberline {1}Overview}{1}} +\@writefile{toc}{\contentsline {section}{\numberline {2}Conduit}{1}} +\@writefile{toc}{\contentsline {section}{\numberline {3}End of Year Review}{4}} diff --git a/2018/Running_Conduit/docs/7.log b/2018/Running_Conduit/docs/7.log new file mode 100644 index 0000000..1383b4b --- /dev/null +++ b/2018/Running_Conduit/docs/7.log @@ -0,0 +1,199 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 17 JAN 2020 20:38 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2018/Running_C +onduit/docs/7.tex + +(/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2018/Running_Co +nduit/docs/7.tex +LaTeX2e <2017/01/01> patch level 3 +Babel <3.9r> and hyphenation patterns for 3 language(s) loaded. +(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls +Document Class: article 2014/09/29 v1.4h Standard LaTeX document class +(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo +File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +(/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty +Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package xcolor Info: Driver file: pdftex.def on input line 225. + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2017/01/12 v0.06k Graphics/color for pdfTeX + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty +Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty +Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) +) +\Gread@gobject=\count87 +) +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. +Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352. +Package xcolor Info: Model `RGB' extended on input line 1364. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. +) +(/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty +Package: geometry 2010/09/12 v5.6 Page Geometry + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks14 +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2016/05/14 v3.1 Provides the ifpdf switch +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty +Package: ifvtex 2016/05/16 v1.6 Detect VTeX and its facilities (HO) +Package ifvtex Info: VTeX not detected. +) +(/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty +Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional +) +\Gm@cnth=\count88 +\Gm@cntv=\count89 +\c@Gm@tempcnt=\count90 +\Gm@bindingoffset=\dimen103 +\Gm@wd@mp=\dimen104 +\Gm@odd@mp=\dimen105 +\Gm@even@mp=\dimen106 +\Gm@layoutwidth=\dimen107 +\Gm@layoutheight=\dimen108 +\Gm@layouthoffset=\dimen109 +\Gm@layoutvoffset=\dimen110 +\Gm@dimlist=\toks15 +) (./7.aux) +\openout1 = `7.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. + +(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count91 +\scratchdimen=\dimen111 +\scratchbox=\box26 +\nofMPsegments=\count92 +\nofMParguments=\count93 +\everyMPshowfont=\toks16 +\MPscratchCnt=\count94 +\MPscratchDim=\dimen112 +\MPnumerator=\count95 +\makeMPintoPDFobject=\count96 +\everyMPtoPDFconversion=\toks17 +) +*geometry* detected driver: dvips +*geometry* verbose mode - [ preamble ] result: +* driver: dvips +* paper: custom +* layout: +* layoutoffset:(h,v)=(0.0pt,0.0pt) +* vratio: 1:1 +* modes: +* h-part:(L,W,R)=(54.2025pt, 325.215pt, 54.2025pt) +* v-part:(T,H,B)=(79.49689pt, 491.43622pt, 79.49689pt) +* \paperwidth=433.62pt +* \paperheight=650.43pt +* \textwidth=325.215pt +* \textheight=491.43622pt +* \oddsidemargin=-18.06749pt +* \evensidemargin=-18.06749pt +* \topmargin=-29.7731pt +* \headheight=12.0pt +* \headsep=25.0pt +* \topskip=11.0pt +* \footskip=30.0pt +* \marginparwidth=59.0pt +* \marginparsep=10.0pt +* \columnsep=10.0pt +* \skip\footins=10.0pt plus 4.0pt minus 2.0pt +* \hoffset=0.0pt +* \voffset=0.0pt +* \mag=1000 +* \@twocolumnfalse +* \@twosidefalse +* \@mparswitchfalse +* \@reversemarginfalse +* (1in=72.27pt=25.4mm, 1cm=28.453pt) + +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 11. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 11. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 11. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <10.95> on input line 16. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <9> on input line 16. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <5> on input line 16. + +Underfull \hbox (badness 10000) in paragraph at lines 22--24 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 25--27 + + [] + +[1 +Non-PDF special ignored! + +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] +[2] [3] [4] (./7.aux) ) +Here is how much of TeX's memory you used: + 1942 strings out of 494945 + 25496 string characters out of 6181032 + 90870 words of memory out of 5000000 + 5266 multiletter control sequences out of 15000+600000 + 9723 words of font info for 34 fonts, out of 8000000 for 9000 + 14 hyphenation exceptions out of 8191 + 24i,8n,35p,923b,189s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on 7.pdf (4 pages, 95873 bytes). +PDF statistics: + 45 PDF objects out of 1000 (max. 8388607) + 31 compressed objects within 1 object stream + 0 named destinations out of 1000 (max. 500000) + 1 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/2018/Running_Conduit/docs/7.pdf b/2018/Running_Conduit/docs/7.pdf new file mode 100644 index 0000000..f4541f5 Binary files /dev/null and b/2018/Running_Conduit/docs/7.pdf differ diff --git a/2018/Running_Conduit/docs/7.tex b/2018/Running_Conduit/docs/7.tex new file mode 100644 index 0000000..dac86c6 --- /dev/null +++ b/2018/Running_Conduit/docs/7.tex @@ -0,0 +1,85 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\usepackage{xcolor} +\usepackage[vcentering,dvips]{geometry} +\geometry{papersize={6in,9in},total={4.5in,6.8in}} +\title{\textbf{Running Conduit - Tips}} +\author{Steak Electronics} +\date{} +\begin{document} + +\maketitle + +\textcolor{green!60!blue!70}{ +\section{Overview}} + +I recently took up running conduit for cable runs at the office. Here it's used for ethernet runs: CCTV, IoT, or general LANs. Here's what I learned early on.\footnote{Of course you can run mains through conduit, but I'll cover that later. Start with low voltage wiring.} + + +\textcolor{green!60!blue!70}{ +\section{Conduit}} + +Here are some general tips on Conduit: +\\ + +\textbf{Where conduit is hard:} Adding cabling to existing conduit, doing unusual bends, using thicker pipes (harder to bend) +\\ + +\textbf{Where conduit is easy:} The opposite: Cabling as you put up the conduit, doing only straight runs, 90 degree bends, and offset bends, and using 1/2" (smaller) conduit. + +\vspace{0.2in}\textcolor{green!60!blue!70}{ +\LARGE \textbf{Types of Pipe} \normalsize} +\vspace{0.2in} + +There are different kinds of conduit, based on the size of the pipe. The price increases with size. +\vspace{0.2in} + +1/2" pipe is good for one or two ethernet runs. + +3/4" pipe is good for 3 ethernet cables. + +1" pipe can run say, 6 ethernet cables. + +\vspace{0.2in} +Now, you can get away with more, but it's best to underspec, so you have room in case of future expansion. However, it's recommended to not add additional cables to the conduit afterwards, and instead use ethernet switches. + +\vspace{0.2in}\textcolor{green!60!blue!70}{ +\LARGE \textbf{How to Fish Conduit} \normalsize} +\vspace{0.2in} + +Ethernet cable should be led through conduit with steel fish tape. You can't use nylon string on existing conduit, unless you are going through small sections of straight conduit - fishing the string as you put up the conduit (new installs). For existing installs, or if you already put up some conduit and just need to get the wire through, use steel fish tape. The steel, allows you to pull AND push the ethernet cable, should it get stuck. However, let me say this: \textbf{fish the cable through each piece of conduit you put up as you go}. It's faster, and easier. This also means that future expansion is not nearly as practical. + +\vspace{0.2in}\textcolor{green!60!blue!70}{ +\LARGE \textbf{Couplers} \normalsize} +\vspace{0.2in} + +The ideal coupler has the pipes inside sitting flush against each other, but some couplers have a notch in the middle between them. Those aren't as good, as the notch is a gap where ethernet cable will catch when pulling through. Not an issue if you cable as you go, but a problem for running cable through existing conduit. + +\vspace{0.2in}\textcolor{green!60!blue!70}{ +\LARGE \textbf{Boxes} \normalsize} +\vspace{0.2in} + +Use the deeper, larger electrical boxes. They usually come in a few sizes. The additional space, makes everything easier. Use frequent boxes if you plan to expand more cables later, so you can access everything inside. Use boxes where you will have an ethernet switch or outlet, or need to branch out... + +\vspace{0.2in}\textcolor{green!60!blue!70}{ +\LARGE \textbf{Bendy Conduit} \normalsize} +\vspace{0.2in} + +Bendable or Bendy conduit\footnote{There are a couple different kinds of this, and its something I'm still figuring out.} is sized one size bigger than it's listed. So if you buy 3/4" conduit, you get a 1" size bendable pipe, with 1/4" the bendy part. This means you must size boxes accordingly. Supposedly, you must buy the specific bendy conduit connectors, but you can fit a 3/4" bendy conduit, in a 1" hole in an electrical box in a pinch. You can also use a coupler (for standard pipe) sized one size bigger, in a pinch. Not as professional looking, but it works.\footnote{Low voltage only, of course. The correct (codewise) connectors for (mains-wire) flexible conduit are the ones that clamp down. You can adjust the screw as needed to adjust.} + +\vspace{0.2in}\textcolor{green!60!blue!70}{ +\LARGE \textbf{Grease} \normalsize} +\vspace{0.2in} + +They sell grease, but its a mess, and I wouldn't use it. Not only will it get all inside the pipe, but all over your hands as you pull the wire through. You shouldn't run new wires through existing conduit. One of the problems is that you might wrap the ethernet cable in electrical tape, but tape is rubber, and sticks to the metal. What you want is some kind of slidy, metal surface that doesn't stick to metal on the front of the ethernet cable. + +\vspace{0.2in}\textcolor{green!60!blue!70}{ +\LARGE \textbf{Fish Tape and Plastic Ends} \normalsize} +\vspace{0.2in} + +There is a little piece of plastic on my fish tape at the end. When running through existing small conduit, that plastic is a problem, as it hits wires, and couplers, catching. Solution: Remove the plastic piece. However, there are times when you want something plastic at the end of the metal fish tape. I.e. when you are running fish tape through the bendable conduit. In that case, put some electrical tape at the end of the conduit. This little trick can be the difference between barely fishing, and not getting through the pipe. The idea is, it's removable depending on your need. This is primarily for fishing through existing conduit. Again, you can't use nylon string to pull wire through conduit, you need metal fish tape. That is because metal fish tape can be pushed back and forth, but nylon string can only pull. + +\textcolor{green!60!blue!70}{ + \section{End of Year Review}} +Being a maintenance / IT / electronics engineer at my company, I get to wear a lot of hats, and conduit is one of them. I'm about to run some new conduit, and a few things make it easier, which I learned already. Use the smaller conduits. For awkward turns and bends use bendable conduit. Don't waste time trying complex bends on small runs. Light switches can always go before an outlet to control it on/off. This means you can have as many on/off switches you want. 120V Mains and conduit are easy if you are an EE, but I will cover this is a later document. It's a good idea to pick up a copy of the NEC or related reading material. +\end{document} diff --git a/2018/Running_Conduit/docs/7.tex~ b/2018/Running_Conduit/docs/7.tex~ new file mode 100644 index 0000000..dac86c6 --- /dev/null +++ b/2018/Running_Conduit/docs/7.tex~ @@ -0,0 +1,85 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\usepackage{xcolor} +\usepackage[vcentering,dvips]{geometry} +\geometry{papersize={6in,9in},total={4.5in,6.8in}} +\title{\textbf{Running Conduit - Tips}} +\author{Steak Electronics} +\date{} +\begin{document} + +\maketitle + +\textcolor{green!60!blue!70}{ +\section{Overview}} + +I recently took up running conduit for cable runs at the office. Here it's used for ethernet runs: CCTV, IoT, or general LANs. Here's what I learned early on.\footnote{Of course you can run mains through conduit, but I'll cover that later. Start with low voltage wiring.} + + +\textcolor{green!60!blue!70}{ +\section{Conduit}} + +Here are some general tips on Conduit: +\\ + +\textbf{Where conduit is hard:} Adding cabling to existing conduit, doing unusual bends, using thicker pipes (harder to bend) +\\ + +\textbf{Where conduit is easy:} The opposite: Cabling as you put up the conduit, doing only straight runs, 90 degree bends, and offset bends, and using 1/2" (smaller) conduit. + +\vspace{0.2in}\textcolor{green!60!blue!70}{ +\LARGE \textbf{Types of Pipe} \normalsize} +\vspace{0.2in} + +There are different kinds of conduit, based on the size of the pipe. The price increases with size. +\vspace{0.2in} + +1/2" pipe is good for one or two ethernet runs. + +3/4" pipe is good for 3 ethernet cables. + +1" pipe can run say, 6 ethernet cables. + +\vspace{0.2in} +Now, you can get away with more, but it's best to underspec, so you have room in case of future expansion. However, it's recommended to not add additional cables to the conduit afterwards, and instead use ethernet switches. + +\vspace{0.2in}\textcolor{green!60!blue!70}{ +\LARGE \textbf{How to Fish Conduit} \normalsize} +\vspace{0.2in} + +Ethernet cable should be led through conduit with steel fish tape. You can't use nylon string on existing conduit, unless you are going through small sections of straight conduit - fishing the string as you put up the conduit (new installs). For existing installs, or if you already put up some conduit and just need to get the wire through, use steel fish tape. The steel, allows you to pull AND push the ethernet cable, should it get stuck. However, let me say this: \textbf{fish the cable through each piece of conduit you put up as you go}. It's faster, and easier. This also means that future expansion is not nearly as practical. + +\vspace{0.2in}\textcolor{green!60!blue!70}{ +\LARGE \textbf{Couplers} \normalsize} +\vspace{0.2in} + +The ideal coupler has the pipes inside sitting flush against each other, but some couplers have a notch in the middle between them. Those aren't as good, as the notch is a gap where ethernet cable will catch when pulling through. Not an issue if you cable as you go, but a problem for running cable through existing conduit. + +\vspace{0.2in}\textcolor{green!60!blue!70}{ +\LARGE \textbf{Boxes} \normalsize} +\vspace{0.2in} + +Use the deeper, larger electrical boxes. They usually come in a few sizes. The additional space, makes everything easier. Use frequent boxes if you plan to expand more cables later, so you can access everything inside. Use boxes where you will have an ethernet switch or outlet, or need to branch out... + +\vspace{0.2in}\textcolor{green!60!blue!70}{ +\LARGE \textbf{Bendy Conduit} \normalsize} +\vspace{0.2in} + +Bendable or Bendy conduit\footnote{There are a couple different kinds of this, and its something I'm still figuring out.} is sized one size bigger than it's listed. So if you buy 3/4" conduit, you get a 1" size bendable pipe, with 1/4" the bendy part. This means you must size boxes accordingly. Supposedly, you must buy the specific bendy conduit connectors, but you can fit a 3/4" bendy conduit, in a 1" hole in an electrical box in a pinch. You can also use a coupler (for standard pipe) sized one size bigger, in a pinch. Not as professional looking, but it works.\footnote{Low voltage only, of course. The correct (codewise) connectors for (mains-wire) flexible conduit are the ones that clamp down. You can adjust the screw as needed to adjust.} + +\vspace{0.2in}\textcolor{green!60!blue!70}{ +\LARGE \textbf{Grease} \normalsize} +\vspace{0.2in} + +They sell grease, but its a mess, and I wouldn't use it. Not only will it get all inside the pipe, but all over your hands as you pull the wire through. You shouldn't run new wires through existing conduit. One of the problems is that you might wrap the ethernet cable in electrical tape, but tape is rubber, and sticks to the metal. What you want is some kind of slidy, metal surface that doesn't stick to metal on the front of the ethernet cable. + +\vspace{0.2in}\textcolor{green!60!blue!70}{ +\LARGE \textbf{Fish Tape and Plastic Ends} \normalsize} +\vspace{0.2in} + +There is a little piece of plastic on my fish tape at the end. When running through existing small conduit, that plastic is a problem, as it hits wires, and couplers, catching. Solution: Remove the plastic piece. However, there are times when you want something plastic at the end of the metal fish tape. I.e. when you are running fish tape through the bendable conduit. In that case, put some electrical tape at the end of the conduit. This little trick can be the difference between barely fishing, and not getting through the pipe. The idea is, it's removable depending on your need. This is primarily for fishing through existing conduit. Again, you can't use nylon string to pull wire through conduit, you need metal fish tape. That is because metal fish tape can be pushed back and forth, but nylon string can only pull. + +\textcolor{green!60!blue!70}{ + \section{End of Year Review}} +Being a maintenance / IT / electronics engineer at my company, I get to wear a lot of hats, and conduit is one of them. I'm about to run some new conduit, and a few things make it easier, which I learned already. Use the smaller conduits. For awkward turns and bends use bendable conduit. Don't waste time trying complex bends on small runs. Light switches can always go before an outlet to control it on/off. This means you can have as many on/off switches you want. 120V Mains and conduit are easy if you are an EE, but I will cover this is a later document. It's a good idea to pick up a copy of the NEC or related reading material. +\end{document} diff --git a/2018/Running_Conduit/docs/fin.pdf b/2018/Running_Conduit/docs/fin.pdf new file mode 100644 index 0000000..f4541f5 Binary files /dev/null and b/2018/Running_Conduit/docs/fin.pdf differ diff --git a/2019/AutoSSH_and_Reverse_Proxy_Alternative/docs/2.log b/2019/AutoSSH_and_Reverse_Proxy_Alternative/docs/2.log index eb04819..6036aa5 100644 --- a/2019/AutoSSH_and_Reverse_Proxy_Alternative/docs/2.log +++ b/2019/AutoSSH_and_Reverse_Proxy_Alternative/docs/2.log @@ -1,4 +1,4 @@ -This is pdfTeX, Version 3.14159265-2.6-1.40.15 (TeX Live 2015/dev/Debian) (preloaded format=pdflatex 2018.11.28) 5 JUN 2019 00:28 +This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 20 DEC 2019 17:15 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -7,8 +7,8 @@ nd_Reverse_Proxy_Alternative/docs/2.tex (/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2019/AutoSSH_an d_Reverse_Proxy_Alternative/docs/2.tex -LaTeX2e <2014/05/01> -Babel <3.9l> and hyphenation patterns for 2 languages loaded. +LaTeX2e <2017/01/01> patch level 3 +Babel <3.9r> and hyphenation patterns for 3 language(s) loaded. (/usr/share/texlive/texmf-dist/tex/latex/base/article.cls Document Class: article 2014/09/29 v1.4h Standard LaTeX document class (/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo @@ -27,31 +27,31 @@ File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option) \bibindent=\dimen102 ) (/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty -Package: graphicx 2014/04/25 v1.0g Enhanced LaTeX Graphics (DPC,SPQR) +Package: graphicx 2014/10/28 v1.0g Enhanced LaTeX Graphics (DPC,SPQR) (/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty -Package: keyval 2014/05/08 v1.15 key=value parser (DPC) +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) \KV@toks@=\toks14 ) (/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty -Package: graphics 2009/02/05 v1.0o Standard LaTeX Graphics (DPC,SPQR) +Package: graphics 2016/10/09 v1.0u Standard LaTeX Graphics (DPC,SPQR) (/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty -Package: trig 1999/03/16 v1.09 sin cos tan (DPC) +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) ) -(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/graphics.cfg -File: graphics.cfg 2010/04/23 v1.9 graphics configuration of TeX Live +(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration ) -Package graphics Info: Driver file: pdftex.def on input line 91. +Package graphics Info: Driver file: pdftex.def on input line 99. -(/usr/share/texlive/texmf-dist/tex/latex/pdftex-def/pdftex.def -File: pdftex.def 2011/05/27 v0.06d Graphics/color for pdfTeX +(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2017/01/12 v0.06k Graphics/color for pdfTeX (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty -Package: infwarerr 2010/04/08 v1.3 Providing info/warning/error messages (HO) +Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) ) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty -Package: ltxcmds 2011/11/09 v1.22 LaTeX kernel commands for general use (HO) +Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) ) \Gread@gobject=\count87 )) @@ -59,11 +59,11 @@ Package: ltxcmds 2011/11/09 v1.22 LaTeX kernel commands for general use (HO) \Gin@req@width=\dimen104 ) (/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty -Package: caption 2013/05/02 v3.3-89 Customizing captions (AR) +Package: caption 2016/02/21 v3.3-144 Customizing captions (AR) (/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty -Package: caption3 2013/05/02 v1.6-88 caption3 kernel (AR) -Package caption3 Info: TeX engine: e-TeX on input line 57. +Package: caption3 2016/05/22 v1.7-166 caption3 kernel (AR) +Package caption3 Info: TeX engine: e-TeX on input line 67. \captionmargin=\dimen105 \captionmargin@=\dimen106 \captionwidth=\dimen107 @@ -73,8 +73,7 @@ Package caption3 Info: TeX engine: e-TeX on input line 57. \caption@hangindent=\dimen111 ) \c@ContinuedFloat=\count88 -) -No file 2.aux. +) (./2.aux) \openout1 = `2.aux'. LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 8. @@ -89,7 +88,8 @@ LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 8. LaTeX Font Info: ... okay on input line 8. LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 8. LaTeX Font Info: ... okay on input line 8. -(/usr/share/texlive/texmf-dist/tex/context/base/supp-pdf.mkii + +(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii [Loading MPS to PDF converter (version 2006.09.02).] \scratchcounter=\count89 \scratchdimen=\dimen112 @@ -103,16 +103,15 @@ LaTeX Font Info: ... okay on input line 8. \makeMPintoPDFobject=\count94 \everyMPtoPDFconversion=\toks16 ) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty -Package: pdftexcmds 2011/11/29 v0.20 Utility functions of pdfTeX for LuaTeX (HO +Package: pdftexcmds 2016/05/21 v0.22 Utility functions of pdfTeX for LuaTeX (HO ) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty -Package: ifluatex 2010/03/01 v1.3 Provides the ifluatex switch (HO) +Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) Package ifluatex Info: LuaTeX not detected. ) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty -Package: ifpdf 2011/01/30 v2.3 Provides the ifpdf switch (HO) -Package ifpdf Info: pdfTeX in PDF mode is detected. +Package: ifpdf 2016/05/14 v3.1 Provides the ifpdf switch ) Package pdftexcmds Info: LuaTeX not detected. Package pdftexcmds Info: \pdf@primitive is available. @@ -120,31 +119,33 @@ Package pdftexcmds Info: \pdf@ifprimitive is available. Package pdftexcmds Info: \pdfdraftmode found. ) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty -Package: epstopdf-base 2010/02/09 v2.5 Base part for package epstopdf +Package: epstopdf-base 2016/05/15 v2.6 Base part for package epstopdf (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty -Package: grfext 2010/08/19 v1.1 Manage graphics extensions (HO) +Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty -Package: kvdefinekeys 2011/04/07 v1.3 Define keys (HO) +Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO) )) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty -Package: kvoptions 2011/06/30 v3.11 Key value format for package options (HO) +Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty -Package: kvsetkeys 2012/04/25 v1.16 Key value parser (HO) +Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty -Package: etexcmds 2011/02/16 v1.5 Avoid name clashes with e-TeX commands (HO) +Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) Package etexcmds Info: Could not find \expanded. (etexcmds) That can mean that you are not using pdfTeX 1.50 or (etexcmds) that some package has redefined \expanded. (etexcmds) In the latter case, load this package earlier. ))) +Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 +38. Package grfext Info: Graphics extension search list: (grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE G,.JBIG2,.JB2,.eps] -(grfext) \AppendGraphicsExtensions on input line 452. +(grfext) \AppendGraphicsExtensions on input line 456. (/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv @@ -228,13 +229,13 @@ LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10.95> not available (Font) Font shape `OMS/cmsy/m/n' tried instead on input line 103. [3] (./2.aux) ) Here is how much of TeX's memory you used: - 2554 strings out of 495020 - 40741 string characters out of 6181323 - 95820 words of memory out of 5000000 - 5770 multiletter control sequences out of 15000+600000 + 2584 strings out of 494945 + 41296 string characters out of 6181032 + 96848 words of memory out of 5000000 + 5877 multiletter control sequences out of 15000+600000 8977 words of font info for 32 fonts, out of 8000000 for 9000 14 hyphenation exceptions out of 8191 - 38i,8n,38p,438b,241s stack positions out of 5000i,500n,10000p,200000b,80000s + 39i,8n,38p,438b,241s stack positions out of 5000i,500n,10000p,200000b,80000s -Output written on 2.pdf (3 pages, 106593 bytes). +Output written on 2.pdf (3 pages, 106586 bytes). PDF statistics: 46 PDF objects out of 1000 (max. 8388607) 32 compressed objects within 1 object stream diff --git a/2019/AutoSSH_and_Reverse_Proxy_Alternative/docs/2.pdf b/2019/AutoSSH_and_Reverse_Proxy_Alternative/docs/2.pdf index a9fc79c..e786e88 100644 Binary files a/2019/AutoSSH_and_Reverse_Proxy_Alternative/docs/2.pdf and b/2019/AutoSSH_and_Reverse_Proxy_Alternative/docs/2.pdf differ diff --git a/2019/AutoSSH_and_Reverse_Proxy_Alternative/docs/3.aux b/2019/AutoSSH_and_Reverse_Proxy_Alternative/docs/3.aux new file mode 100644 index 0000000..d2a5ca7 --- /dev/null +++ b/2019/AutoSSH_and_Reverse_Proxy_Alternative/docs/3.aux @@ -0,0 +1,6 @@ +\relax +\@writefile{toc}{\contentsline {section}{\numberline {1}Overview}{1}} +\@writefile{toc}{\contentsline {section}{\numberline {2}Work Log}{1}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Crontab}{1}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Bash Script}{1}} +\@writefile{toc}{\contentsline {section}{\numberline {3}What Did NOT Work}{3}} diff --git a/2019/AutoSSH_and_Reverse_Proxy_Alternative/docs/3.log b/2019/AutoSSH_and_Reverse_Proxy_Alternative/docs/3.log new file mode 100644 index 0000000..3301c3d --- /dev/null +++ b/2019/AutoSSH_and_Reverse_Proxy_Alternative/docs/3.log @@ -0,0 +1,376 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 20 DEC 2019 17:16 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2019/AutoSSH_a +nd_Reverse_Proxy_Alternative/docs/3.tex + +(/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2019/AutoSSH_an +d_Reverse_Proxy_Alternative/docs/3.tex +LaTeX2e <2017/01/01> patch level 3 +Babel <3.9r> and hyphenation patterns for 3 language(s) loaded. +(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls +Document Class: article 2014/09/29 v1.4h Standard LaTeX document class +(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo +File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +(/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty +Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package xcolor Info: Driver file: pdftex.def on input line 225. + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2017/01/12 v0.06k Graphics/color for pdfTeX + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty +Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty +Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) +) +\Gread@gobject=\count87 +) +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. +Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352. +Package xcolor Info: Model `RGB' extended on input line 1364. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. +) +(/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty +Package: geometry 2010/09/12 v5.6 Page Geometry + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks14 +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2016/05/14 v3.1 Provides the ifpdf switch +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty +Package: ifvtex 2016/05/16 v1.6 Detect VTeX and its facilities (HO) +Package ifvtex Info: VTeX not detected. +) +(/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty +Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional +) +\Gm@cnth=\count88 +\Gm@cntv=\count89 +\c@Gm@tempcnt=\count90 +\Gm@bindingoffset=\dimen103 +\Gm@wd@mp=\dimen104 +\Gm@odd@mp=\dimen105 +\Gm@even@mp=\dimen106 +\Gm@layoutwidth=\dimen107 +\Gm@layoutheight=\dimen108 +\Gm@layouthoffset=\dimen109 +\Gm@layoutvoffset=\dimen110 +\Gm@dimlist=\toks15 +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2014/10/28 v1.0g Enhanced LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2016/10/09 v1.0u Standard LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: pdftex.def on input line 99. +) +\Gin@req@height=\dimen111 +\Gin@req@width=\dimen112 +) +(/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty +Package: caption 2016/02/21 v3.3-144 Customizing captions (AR) + +(/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty +Package: caption3 2016/05/22 v1.7-166 caption3 kernel (AR) +Package caption3 Info: TeX engine: e-TeX on input line 67. +\captionmargin=\dimen113 +\captionmargin@=\dimen114 +\captionwidth=\dimen115 +\caption@tempdima=\dimen116 +\caption@indent=\dimen117 +\caption@parindent=\dimen118 +\caption@hangindent=\dimen119 +) +\c@ContinuedFloat=\count91 +) +No file 3.aux. +\openout1 = `3.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. +(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count92 +\scratchdimen=\dimen120 +\scratchbox=\box26 +\nofMPsegments=\count93 +\nofMParguments=\count94 +\everyMPshowfont=\toks16 +\MPscratchCnt=\count95 +\MPscratchDim=\dimen121 +\MPnumerator=\count96 +\makeMPintoPDFobject=\count97 +\everyMPtoPDFconversion=\toks17 +) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty +Package: pdftexcmds 2016/05/21 v0.22 Utility functions of pdfTeX for LuaTeX (HO +) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty +Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) +Package ifluatex Info: LuaTeX not detected. +) +Package pdftexcmds Info: LuaTeX not detected. +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode found. +) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty +Package: epstopdf-base 2016/05/15 v2.6 Base part for package epstopdf + +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty +Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty +Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO) +)) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty +Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty +Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty +Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) +Package etexcmds Info: Could not find \expanded. +(etexcmds) That can mean that you are not using pdfTeX 1.50 or +(etexcmds) that some package has redefined \expanded. +(etexcmds) In the latter case, load this package earlier. +))) +Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 +38. +Package grfext Info: Graphics extension search list: +(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE +G,.JBIG2,.JB2,.eps] +(grfext) \AppendGraphicsExtensions on input line 456. + +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv +e +)) +*geometry* detected driver: dvips +*geometry* verbose mode - [ preamble ] result: +* driver: dvips +* paper: custom +* layout: +* layoutoffset:(h,v)=(0.0pt,0.0pt) +* vratio: 1:1 +* modes: +* h-part:(L,W,R)=(54.2025pt, 325.215pt, 54.2025pt) +* v-part:(T,H,B)=(79.49689pt, 491.43622pt, 79.49689pt) +* \paperwidth=433.62pt +* \paperheight=650.43pt +* \textwidth=325.215pt +* \textheight=491.43622pt +* \oddsidemargin=-18.06749pt +* \evensidemargin=-18.06749pt +* \topmargin=-29.7731pt +* \headheight=12.0pt +* \headsep=25.0pt +* \topskip=11.0pt +* \footskip=30.0pt +* \marginparwidth=59.0pt +* \marginparsep=10.0pt +* \columnsep=10.0pt +* \skip\footins=10.0pt plus 4.0pt minus 2.0pt +* \hoffset=0.0pt +* \voffset=0.0pt +* \mag=1000 +* \@twocolumnfalse +* \@twosidefalse +* \@mparswitchfalse +* \@reversemarginfalse +* (1in=72.27pt=25.4mm, 1cm=28.453pt) + +Package caption Info: Begin \AtBeginDocument code. +Package caption Info: End \AtBeginDocument code. +[1 +Non-PDF special ignored! + +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] +Overfull \hbox (65.69577pt too wide) in paragraph at lines 53--53 +[]\OT1/cmtt/m/n/10.95 autossh -L 0.0.0.0:2:localhost:80 -f user@ipaddress sle +ep 31536000[] + [] + + +Overfull \hbox (71.44446pt too wide) in paragraph at lines 53--53 +[]\OT1/cmtt/m/n/10.95 #autossh -M 0 -o "ServerAliveInterval 30" -o "ServerAliv +eCountMax 3"[] + [] + +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <10.95> on input line 54. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 54. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 54. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <9> on input line 54. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <5> on input line 54. + +Overfull \hbox (59.94708pt too wide) in paragraph at lines 100--100 +[]\OT1/cmtt/m/n/10.95 solves this in a painless way. It's in the repos for Debi +an/Ubuntu:[] + [] + + +Overfull \hbox (36.95233pt too wide) in paragraph at lines 100--100 +[]\OT1/cmtt/m/n/10.95 and perhaps for many other distros (it looks like it orig +inated[] + [] + + +Overfull \hbox (19.70627pt too wide) in paragraph at lines 100--100 +[]\OT1/cmtt/m/n/10.95 This program will start an ssh-agent if none is running, +and[] + [] + + +Overfull \hbox (54.1984pt too wide) in paragraph at lines 100--100 +[] \OT1/cmtt/m/n/10.95 provide shell scripts that can be sourced and connect th +e current[] + [] + + +Overfull \hbox (36.95233pt too wide) in paragraph at lines 100--100 +[]\OT1/cmtt/m/n/10.95 For bash, with a private key named id_rsa, add the follow +ing to[] + [] + + +Overfull \hbox (42.70102pt too wide) in paragraph at lines 100--100 +[]\OT1/cmtt/m/n/10.95 This will start an ssh-agent and add the id_rsa key on th +e first[] + [] + + +Overfull \hbox (42.70102pt too wide) in paragraph at lines 100--100 +[] \OT1/cmtt/m/n/10.95 login after reboot. If the key is passphrase-protected, +it will[] + [] + +[2] +Overfull \hbox (25.45496pt too wide) in paragraph at lines 100--100 +[] \OT1/cmtt/m/n/10.95 also ask for the passphrase. No need to use unprotected +keys[] + [] + + +Overfull \hbox (19.70627pt too wide) in paragraph at lines 100--100 +[] \OT1/cmtt/m/n/10.95 anymore! For subsequent logins, it will recognize the ag +ent[] + [] + + +Overfull \hbox (48.4497pt too wide) in paragraph at lines 100--100 +[]\OT1/cmtt/m/n/10.95 This will let the shell know where to reach the SSH agent + managed[] + [] + + +Overfull \hbox (31.20364pt too wide) in paragraph at lines 100--100 +[] \OT1/cmtt/m/n/10.95 by keychain. Make sure that .bashrc is sourced from .pro +file.[] + [] + + +Overfull \hbox (13.95758pt too wide) in paragraph at lines 100--100 +[]\OT1/cmtt/m/n/10.95 However, it seems that cron jobs still don't see this. As + a[] + [] + + +Overfull \hbox (13.95758pt too wide) in paragraph at lines 100--100 +[] \OT1/cmtt/m/n/10.95 remedy, include the line above in the crontab, just befo +re[] + [] + + +Overfull \hbox (2.4602pt too wide) in paragraph at lines 100--100 +[]\OT1/cmtt/m/n/10.95 * * * * * . ~/.keychain/$HOSTNAME-sh; your-actual-command +[] + [] + +LaTeX Font Info: Try loading font information for OMS+cmr on input line 111. + +(/usr/share/texlive/texmf-dist/tex/latex/base/omscmr.fd +File: omscmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions +) +LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10.95> not available +(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 111. + +Overfull \hbox (4.53256pt too wide) in paragraph at lines 111--112 +[]\OT1/cmr/m/n/10.95 https://github.com/obfusk/autossh-init - This init script, + didn't + [] + +[3] [4] (./3.aux) ) +Here is how much of TeX's memory you used: + 3526 strings out of 494945 + 53591 string characters out of 6181032 + 123335 words of memory out of 5000000 + 6804 multiletter control sequences out of 15000+600000 + 8977 words of font info for 32 fonts, out of 8000000 for 9000 + 14 hyphenation exceptions out of 8191 + 39i,8n,38p,438b,251s stack positions out of 5000i,500n,10000p,200000b,80000s + + +Output written on 3.pdf (4 pages, 107011 bytes). +PDF statistics: + 49 PDF objects out of 1000 (max. 8388607) + 34 compressed objects within 1 object stream + 0 named destinations out of 1000 (max. 500000) + 1 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/2019/AutoSSH_and_Reverse_Proxy_Alternative/docs/3.pdf b/2019/AutoSSH_and_Reverse_Proxy_Alternative/docs/3.pdf new file mode 100644 index 0000000..93d73e4 Binary files /dev/null and b/2019/AutoSSH_and_Reverse_Proxy_Alternative/docs/3.pdf differ diff --git a/2019/AutoSSH_and_Reverse_Proxy_Alternative/docs/3.tex b/2019/AutoSSH_and_Reverse_Proxy_Alternative/docs/3.tex new file mode 100644 index 0000000..a7237b6 --- /dev/null +++ b/2019/AutoSSH_and_Reverse_Proxy_Alternative/docs/3.tex @@ -0,0 +1,118 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\title{\textbf{AutoSSH - a Reverse Proxy Alternative}} +\usepackage{xcolor} +\usepackage[vcentering,dvips]{geometry} +\geometry{papersize={6in,9in},total={4.5in,6.8in}} +\usepackage{graphicx} +\usepackage{caption } +\author{Steak Electronics} +\date{06/4/19} +\begin{document} + +%\maketitle +\textbf{AutoSSH - a Reverse Proxy Alternative} + +\vspace{0.2in} +This document is best read printed out on paper. +%\textbf{Todo} +\textcolor{green!60!blue!70}{ +\section{Overview}} +I recently added another apache server to an existing infrastructure, and I wanted it to be accessible under a similar IP as another server. Due to the complexity of the website, it was not possible to simply do a reverse proxy without knowing the correct settings (e.g. X-Forwarded for). Instead, AutoSSH was used. + +\textcolor{green!60!blue!70}{ +\section{Work Log}} +Ok, I'm going to get right to the configs that I used. You want the tool, you don't need to know all the details. + +\textcolor{green!60!blue!70}{ +\subsection{Crontab}} +Here is the crontab script I used. I put this in /etc/crontab, so it has root after the times. I only use /etc/crontab, as it's easier to manage. +\begin{verbatim} +* * * * * root pgrep autossh > /dev/null || \ + /usr/local/bin/autosshzm/autosshzm.sh +\end{verbatim} +A few notes about this. Pgrep will search for autossh. If it doesn't find it, then it will try the next command. (|| is an OR). Put the bash script wherever you want. + +\textcolor{green!60!blue!70}{ +\subsection{Bash Script}} + +This script is obviously what the crontab calls. +\begin{verbatim} +#!/bin/bash +logger " /usr/local/bin/autosshzm script started." +#source $HOME/.bash_profile #not needed. +source $HOME/.keychain/$HOSTNAME-sh +logger " /usr/local/bin/autosshzm sourced." + +autossh -L 0.0.0.0:2:localhost:80 -f user@ipaddress sleep 31536000 + &> /var/log/autosshzm/autosshzm.log +#autossh -M 0 -o "ServerAliveInterval 30" -o "ServerAliveCountMax 3" + -L 0.0.0.0:2:localhost:80 user@ipaddress &> + /var/log/autosshzm/autosshzm.log +logger "auto ssh ran" +\end{verbatim} +Note that the second autossh does not work, as it's missing the sleep and the -f command. \footnote{Figuring this kind of stuff out can take about an hour.} In order for this to work, you'll also need the following commands: + +\begin{verbatim} +apt-get install keychain autossh +\end{verbatim} +There were some more setup steps required for keychain... +From stackexchange: +\begin{verbatim} +25 +keychain +solves this in a painless way. It's in the repos for Debian/Ubuntu: + +sudo apt-get install keychain + +and perhaps for many other distros (it looks like it originated +from Gentoo). + +This program will start an ssh-agent if none is running, and + provide shell scripts that can be sourced and connect the current + shell to this particular ssh-agent. + +For bash, with a private key named id_rsa, add the following to + your .profile: + +keychain --nogui id_rsa + +This will start an ssh-agent and add the id_rsa key on the first + login after reboot. If the key is passphrase-protected, it will + also ask for the passphrase. No need to use unprotected keys + anymore! For subsequent logins, it will recognize the agent + and not ask for a passphrase again. + +Also, add the following as a last line of your .bashrc: + +. ~/.keychain/$HOSTNAME-sh + +This will let the shell know where to reach the SSH agent managed + by keychain. Make sure that .bashrc is sourced from .profile. + +However, it seems that cron jobs still don't see this. As a + remedy, include the line above in the crontab, just before + your actual command: + +* * * * * . ~/.keychain/$HOSTNAME-sh; your-actual-command + + +\end{verbatim} +The only thing that I needed to do here was + +keychain --nogui id\_rsa + +The rest of it (notes about crontab) was not required. + +\textcolor{green!60!blue!70}{ +\section{What Did NOT Work}} +Here's some things I tried that did not work. +\begin{itemize} +\item https://github.com/obfusk/autossh-init - This init script, didn't do much for me. Remember, I'm stuck with systemd in Ubuntu 19.04...\footnote{The scourge of deleting software history. Keep backwards compatibility at ALL COSTS, developers.} +\item Reverse proxy with Apache - As I said, my website \footnote{Some people might call it a web application. I will not.} was too complex, and I didn't want to go down that rabbit hole. +\item Starting AutoSSH in rc.local. Didn't work. + +\end{itemize} + + +\end{document} diff --git a/2019/AutoSSH_and_Reverse_Proxy_Alternative/docs/fin.pdf b/2019/AutoSSH_and_Reverse_Proxy_Alternative/docs/fin.pdf new file mode 100644 index 0000000..93d73e4 Binary files /dev/null and b/2019/AutoSSH_and_Reverse_Proxy_Alternative/docs/fin.pdf differ diff --git a/2019/Docker_Primer/docs/2.log b/2019/Docker_Primer/docs/2.log index 22ed939..31a0052 100644 --- a/2019/Docker_Primer/docs/2.log +++ b/2019/Docker_Primer/docs/2.log @@ -1,4 +1,4 @@ -This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 31 AUG 2019 00:34 +This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 4 SEP 2019 00:08 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -121,7 +121,7 @@ r/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr12.pfb> -Output written on 2.pdf (5 pages, 123537 bytes). +Output written on 2.pdf (5 pages, 123530 bytes). PDF statistics: 56 PDF objects out of 1000 (max. 8388607) 39 compressed objects within 1 object stream diff --git a/2019/Docker_Primer/docs/2.pdf b/2019/Docker_Primer/docs/2.pdf index 05bbb40..cbd802b 100644 Binary files a/2019/Docker_Primer/docs/2.pdf and b/2019/Docker_Primer/docs/2.pdf differ diff --git a/2019/Docker_Primer/docs/3.aux b/2019/Docker_Primer/docs/3.aux new file mode 100644 index 0000000..c27b398 --- /dev/null +++ b/2019/Docker_Primer/docs/3.aux @@ -0,0 +1,14 @@ +\relax +\@writefile{toc}{\contentsline {section}{\numberline {1}Overview}{1}} +\@writefile{toc}{\contentsline {section}{\numberline {2}General Notes}{2}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Docker Commands Reference}{2}} +\@writefile{toc}{\contentsline {section}{\numberline {3}Specific Tips}{3}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}YAML is space sensitive}{3}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}If you restart a containers namesake process, it will probably restart / reset the container}{3}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Use a single reverse proxy, to handle multiple websites}{4}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}If you use a single reverse proxy, Lets Encrypt can be done easy}{4}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.5}Give every Container a Containername}{5}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.6}Beware of Interrupting Initting Containers}{5}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.7}Put Apache or Program logs from the Container in a volume that is locally accessible}{5}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.8}Only Restart Containers you need to Restart}{5}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.9}Volumes Mounting Over Existing Directories}{5}} diff --git a/2019/Docker_Primer/docs/3.log b/2019/Docker_Primer/docs/3.log new file mode 100644 index 0000000..52d906f --- /dev/null +++ b/2019/Docker_Primer/docs/3.log @@ -0,0 +1,136 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 4 SEP 2019 00:15 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2019/Docker_Pr +imer/docs/3.tex + +(/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2019/Docker_Pri +mer/docs/3.tex +LaTeX2e <2017/01/01> patch level 3 +Babel <3.9r> and hyphenation patterns for 3 language(s) loaded. +(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls +Document Class: article 2014/09/29 v1.4h Standard LaTeX document class +(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo +File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) (./3.aux) +\openout1 = `3.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 6. +LaTeX Font Info: ... okay on input line 6. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 6. +LaTeX Font Info: ... okay on input line 6. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 6. +LaTeX Font Info: ... okay on input line 6. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 6. +LaTeX Font Info: ... okay on input line 6. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 6. +LaTeX Font Info: ... okay on input line 6. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 6. +LaTeX Font Info: ... okay on input line 6. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 8. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 8. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 8. + (./3.toc +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <10.95> on input line 3. +) +\tf@toc=\write3 +\openout3 = `3.toc'. + + +[1 + +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <9> on input line 24. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <5> on input line 24. + +Underfull \hbox (badness 10000) in paragraph at lines 15--30 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 15--30 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 15--30 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 15--30 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 15--30 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 15--30 + + [] + +LaTeX Font Info: Try loading font information for OMS+cmr on input line 34. +(/usr/share/texlive/texmf-dist/tex/latex/base/omscmr.fd +File: omscmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions +) +LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10.95> not available +(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 34. + [2] [3] [4] +Overfull \hbox (83.52414pt too wide) in paragraph at lines 78--79 +\OT1/cmr/m/n/10.95 This means you want a vol-ume some-thing like ./con-tain-erA +[]files/logs:/var/www/log/apache2/ + [] + + +Overfull \hbox (49.98666pt too wide) in paragraph at lines 82--83 +\OT1/cmr/m/n/10.95 As dis-cussed here: web.archive.org/web/https://github.com/m +oby/moby/issues/4361, + [] + +[5] (./3.aux) ) +Here is how much of TeX's memory you used: + 267 strings out of 494945 + 3199 string characters out of 6181032 + 51564 words of memory out of 5000000 + 3626 multiletter control sequences out of 15000+600000 + 10198 words of font info for 36 fonts, out of 8000000 for 9000 + 14 hyphenation exceptions out of 8191 + 23i,8n,19p,690b,187s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on 3.pdf (5 pages, 125545 bytes). +PDF statistics: + 56 PDF objects out of 1000 (max. 8388607) + 39 compressed objects within 1 object stream + 0 named destinations out of 1000 (max. 500000) + 1 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/2019/Docker_Primer/docs/3.pdf b/2019/Docker_Primer/docs/3.pdf new file mode 100644 index 0000000..9be3ed3 Binary files /dev/null and b/2019/Docker_Primer/docs/3.pdf differ diff --git a/2019/Docker_Primer/docs/3.tex b/2019/Docker_Primer/docs/3.tex new file mode 100644 index 0000000..fb7f09f --- /dev/null +++ b/2019/Docker_Primer/docs/3.tex @@ -0,0 +1,86 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\title{\textbf{Docker Primer}} +\author{Steak Electronics} +\date{08/30/19} +\begin{document} + +\maketitle +\tableofcontents +\section{Overview} +Docker is a program in the tradition of Virtualization. However, Docker differs from a Virtual Machine, in that it uses less resources, and allows for more containers (essentially isolated OS') to run. With Docker I can run 8 different websites on a Core 2 Duo. Docker makes it trivial to transport these websites to a new machine. It's as simple as copying the docker-compose (you should be using docker compose) yml configuration, and keeping all permenant volumes, and saved files in one folder. Docker is a little more setup upfront, but promises savings in time plus interest down the line. +\section{General Notes} +It always helps to read a book on a subject, and then keep it as a Reference. I have read ``Using Docker'' By Adrian Mouat. It is a decent book. Not bad. + +Here are some general tips: +\\ +\\ +First off, Docker is 64 bit only for i386 architecture. ARM has a separate build. There is no 32 bit, unfortunately. +\\ +\\ +You will want 'some' RAM. I had 1GB on a P4 machine, and that was not enough. 4GB was enough. +\\ +\\ +You should always use docker compose. If you read the book above, you will understand why. Docker can run on the command line (commands are somewhat complex for each container), but with a compose file, you can write everything down in a much simpler fashion. Use compose. It's a separate install, currently. Install it.\footnote{Seriously, just ignore the docker command lines. I consider them useless. More of a red herring for rookies.} +\\ +\\ +One of the benefits of docker, is its simplicity. There are essentially two commands you will ever need to know to use docker. Both must be run as root. One is \#docker (e.g. docker restart container\_name\_here). The other is docker-compose (e.g. \#docker-compose up -d). +\\ +\\ + +\subsection{Docker Commands Reference} +Here is just the good stuff. +\begin{itemize} + \item docker-compose up -d (starts the containers in the docker compose file, if they aren't already started. the -d detaches from the stdout logging. You don't need to use stdout logging, you can use docker logs, but its there if you want it) +\item docker ps (lists containers running. If one fails to start, you'll see it missing from here) +\item docker logs (gives you some logging output from the container. Often enough to troubleshoot.) +\item docker exec -it /bin/bash (this will get you in a shell in the docker container. From here you can do what you need to. Most are debian, and need apt-get install less nano or whatever program you are missing. Ping is missing from possibly all containers, so if you want to test via ping, you'll have to apt-get it). + \item docker-compose restart (this will restart all containers. However, I don't recommend it. Initting containers can get corrupted this way, and also its much easier to restart a single faulty container via...) + \item docker restart (this will restart one single container.) + \item docker cp :/dir/to/file dest (you can copy files from local machine to docker, or vice versa with this. Extremely useful). +\end{itemize} +Less often, you might want to know docker kill and docker rmi -f . The first will stop a container, the second will remove an image. If you corrupt the install of a container, the second will save you. The force switch (-f) is required. Alternatively, you can just install a container of the same type with a new container name. \footnote{This is a good way to test that your containers are built in a reproducible way. If you are able to rebuild them by deleting everything, then you likely won't have trouble down the road.} + +\section{Specific Tips} + +\subsection{YAML is space sensitive} +When you edit the .yml file for docker-compose, you have to hit spaces in a certain pattern (tabs not allowed). This is absurd, but just be aware. The errors are cryptic, and its often just because the spacing doesn't stick to what it expects. +\subsection{If you restart a containers namesake process, it will probably restart / reset the container} +So if you are troubleshooting an apache container, you edit some files, then /etc/init.d/apache2 restart, uh oh... You just undid all the edits you made, if they aren't in a permanent volume. You can shell in, make edits, and then exit the shell, but a service restart often resets the container. +\subsection{Use a single reverse proxy, to handle multiple websites} +There are many ways to do this. I use an nginx proxy from scratch. You can also use some containers that are built for this purpose (I personally think it's bloated but a lot of people use Jason Wilder's proxy) +\footnote{https://github.com/jwilder/nginx-proxy - A lot of people swear by this, but I think it's straying too far from the motorcycle.} +\subsection{If you use a single reverse proxy, Lets Encrypt can be done easy} +In this case scenario you would have certbot on the host and a local volume that the proxy has access to which is the webroot of the Lets Encrypt scripts. The nginx proxy entry look something like this: +\begin{verbatim} +location ^~ /.well-known { + alias /var/www/html/.well-known/; + autoindex on; + } +\end{verbatim} +And this is put in every server declaration of nginx.conf. Real simple, real easy. The docker compose of the nginx proxy is something like: +\begin{verbatim} +nginx: + image: nginx:latest + container_name: custom_name_for_my_proxy + volumes: + - ./nginx.conf:/etc/nginx/nginx.conf + - /etc/letsencrypt/:/etc/letsencrypt/ + - ./webroot/:/var/www/html/ +\end{verbatim} +The volumes section is extremely simple, don't be scared. There are two entries. Local and remote. You specify what folder will be the local directory which will be cloned to the host at the remote path you specify. So, the host runs certbot at /etc/letsencrypt, and this folder is cloned to the nginx proxy container, at the same location. Finally, webroot must be set in certbot, but it prompts you for this\footnote{And if you forget or get it wrong, it can be configured somewhere in /etc/letsencrypt. it's a one liner text entry).} + +\subsection{Give every Container a Containername} +This makes it easier to refer to them later. All you need to do in the compose file is include container\_name: something. Much better than the gibberish they give these names if you don't include it. +\subsection{Beware of Interrupting Initting Containers} +When you first build a container, it might take 30-60 or more seconds to do whatever it needs to do. If, before then, you restart it... It may get corrupted. This has happened to me more than once. When you are testing a new container, and it doesn't seem to work for some inexplicable reason, create a container with a new name (it will create a new one), or delete the first one, and start it again. +\subsection{Put Apache or Program logs from the Container in a volume that is locally accessible} +This means you want a volume something like ./containerA\_files/logs:/var/www/log/apache2/ so that you can monitor the logs from your host machine easily. docker logs doesn't have everything. +\subsection{Only Restart Containers you need to Restart} +You can restart everything with docker-compose restart, but it's faster, and less prone to break initting containers, if you docker restart containername. Do the latter. +\subsection{Volumes Mounting Over Existing Directories} +As discussed here: web.archive.org/web/https://github.com/moby/moby/issues/4361, if you add a volume to an existing container, it will seem to delete the folder's contents. I've seen mixed behaviour with this. Sometimes it deletes it even if you start a new container with the folder... Other times it has not. In any case, just docker cp the files to the folder, then add the volume mount. + +\end{document} + + diff --git a/2019/Docker_Primer/docs/3.tex~ b/2019/Docker_Primer/docs/3.tex~ new file mode 100644 index 0000000..59f2a35 --- /dev/null +++ b/2019/Docker_Primer/docs/3.tex~ @@ -0,0 +1,84 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\title{\textbf{Docker Primer}} +\author{Steak Electronics} +\date{08/30/19} +\begin{document} + +\maketitle +\tableofcontents +\section{Overview} +Docker is a program in the tradition of Virtualization. However, Docker differs from a Virtual Machine, in that it uses less resources, and allows for more containers (essentially isolated OS') to run. With Docker I can run 8 different websites on a Core 2 Duo. Docker makes it trivial to transport these websites to a new machine. It's as simple as copying the docker-compose (you should be using docker compose) yml configuration, and keeping all permenant volumes, and saved files in one folder. Docker is a little more setup upfront, but promises savings in time plus interest down the line. +\section{General Notes} +It always helps to read a book on a subject, and then keep it as a Reference. I have read ``Using Docker'' By Adrian Mouat. It is a decent book. Not bad. + +Here are some general tips: +\\ +\\ +First off, Docker is 64 bit only for i386 architecture. ARM has a separate build. There is no 32 bit, unfortunately. +\\ +\\ +You will want 'some' RAM. I had 1GB on a P4 machine, and that was not enough. 4GB was enough. +\\ +\\ +You should always use docker compose. If you read the book above, you will understand why. Docker can run on the command line (commands are somewhat complex for each container), but with a compose file, you can write everything down in a much simpler fashion. Use compose. It's a separate install, currently. Install it.\footnote{Seriously, just ignore the docker command lines. I consider them useless. More of a red herring for rookies.} +\\ +\\ +One of the benefits of docker, is its simplicity. There are essentially two commands you will ever need to know to use docker. Both must be run as root. One is \#docker (e.g. docker restart container\_name\_here). The other is docker-compose (e.g. \#docker-compose up -d). +\\ +\\ + +\subsection{Docker Commands Reference} +Here is just the good stuff. +\begin{itemize} + \item docker-compose up -d (starts the containers in the docker compose file, if they aren't already started. the -d detaches from the stdout logging. You don't need to use stdout logging, you can use docker logs, but its there if you want it) +\item docker ps (lists containers running. If one fails to start, you'll see it missing from here) +\item docker logs (gives you some logging output from the container. Often enough to troubleshoot.) +\item docker exec -it /bin/bash (this will get you in a shell in the docker container. From here you can do what you need to. Most are debian, and need apt-get install less nano or whatever program you are missing. Ping is missing from possibly all containers, so if you want to test via ping, you'll have to apt-get it). + \item docker-compose restart (this will restart all containers. However, I don't recommend it. Initting containers can get corrupted this way, and also its much easier to restart a single faulty container via...) + \item docker restart (this will restart one single container.) + \item docker cp :/dir/to/file dest (you can copy files from local machine to docker, or vice versa with this. Extremely useful). +\end{itemize} +Less often, you might want to know docker kill and docker rmi -f . The first will stop a container, the second will remove an image. If you corrupt the install of a container, the second will save you. The force switch (-f) is required. Alternatively, you can just install a container of the same type with a new container name. \footnote{This is a good way to test that your containers are built in a reproducible way. If you are able to rebuild them by deleting everything, then you likely won't have trouble down the road.} + +\section{Specific Tips} + +\subsection{YAML is space sensitive} +When you edit the .yml file for docker-compose, you have to hit spaces in a certain pattern (tabs not allowed). This is absurd, but just be aware. The errors are cryptic, and its often just because the spacing doesn't stick to what it expects. +\subsection{If you restart a containers namesake process, it will probably restart / reset the container} +So if you are troubleshooting an apache container, you edit some files, then /etc/init.d/apache2 restart, uh oh... You just undid all the edits you made, if they aren't in a permanent volume. You can shell in, make edits, and then exit the shell, but a service restart often resets the container. +\subsection{Use a single reverse proxy, to handle multiple websites} +There are many ways to do this. I use an nginx proxy from scratch. You can also use some containers that are built for this purpose (I personally think it's bloated but a lot of people use Jason Wilder's proxy) +\footnote{https://github.com/jwilder/nginx-proxy - A lot of people swear by this, but I think it's straying too far from the motorcycle.} +\subsection{If you use a single reverse proxy, Lets Encrypt can be done easy} +In this case scenario you would have certbot on the host and a local volume that the proxy has access to which is the webroot of the Lets Encrypt scripts. The nginx proxy entry look something like this: +\begin{verbatim} +location ^~ /.well-known { + alias /var/www/html/.well-known/; + autoindex on; + } +\end{verbatim} +And this is put in every server declaration of nginx.conf. Real simple, real easy. The docker compose of the nginx proxy is something like: +\begin{verbatim} +nginx: + image: nginx:latest + container_name: custom_name_for_my_proxy + volumes: + - ./nginx.conf:/etc/nginx/nginx.conf + - /etc/letsencrypt/:/etc/letsencrypt/ + - ./webroot/:/var/www/html/ +\end{verbatim} +The volumes section is extremely simple, don't be scared. There are two entries. Local and remote. You specify what folder will be the local directory which will be cloned to the host at the remote path you specify. So, the host runs certbot at /etc/letsencrypt, and this folder is cloned to the nginx proxy container, at the same location. Finally, webroot must be set in certbot, but it prompts you for this\footnote{And if you forget or get it wrong, it can be configured somewhere in /etc/letsencrypt. it's a one liner text entry).} + +\subsection{Give every Container a Containername} +This makes it easier to refer to them later. All you need to do in the compose file is include container\_name: something. Much better than the gibberish they give these names if you don't include it. +\subsection{Beware of Interrupting Initting Containers} +When you first build a container, it might take 30-60 or more seconds to do whatever it needs to do. If, before then, you restart it... It may get corrupted. This has happened to me more than once. When you are testing a new container, and it doesn't seem to work for some inexplicable reason, create a container with a new name (it will create a new one), or delete the first one, and start it again. +\subsection{Put Apache or Program logs from the Container in a volume that is locally accessible} +This means you want a volume something like ./containerA\_files/logs:/var/www/log/apache2/ so that you can monitor the logs from your host machine easily. docker logs doesn't have everything. +\subsection{Only Restart Containers you need to Restart} +You can restart everything with docker-compose restart, but it's faster, and less prone to break initting containers, if you docker restart containername. Do the latter. + +\end{document} + + diff --git a/2019/Docker_Primer/docs/3.toc b/2019/Docker_Primer/docs/3.toc new file mode 100644 index 0000000..aca8921 --- /dev/null +++ b/2019/Docker_Primer/docs/3.toc @@ -0,0 +1,13 @@ +\contentsline {section}{\numberline {1}Overview}{1} +\contentsline {section}{\numberline {2}General Notes}{2} +\contentsline {subsection}{\numberline {2.1}Docker Commands Reference}{2} +\contentsline {section}{\numberline {3}Specific Tips}{3} +\contentsline {subsection}{\numberline {3.1}YAML is space sensitive}{3} +\contentsline {subsection}{\numberline {3.2}If you restart a containers namesake process, it will probably restart / reset the container}{3} +\contentsline {subsection}{\numberline {3.3}Use a single reverse proxy, to handle multiple websites}{4} +\contentsline {subsection}{\numberline {3.4}If you use a single reverse proxy, Lets Encrypt can be done easy}{4} +\contentsline {subsection}{\numberline {3.5}Give every Container a Containername}{5} +\contentsline {subsection}{\numberline {3.6}Beware of Interrupting Initting Containers}{5} +\contentsline {subsection}{\numberline {3.7}Put Apache or Program logs from the Container in a volume that is locally accessible}{5} +\contentsline {subsection}{\numberline {3.8}Only Restart Containers you need to Restart}{5} +\contentsline {subsection}{\numberline {3.9}Volumes Mounting Over Existing Directories}{5} diff --git a/2019/Docker_Primer/docs/4.aux b/2019/Docker_Primer/docs/4.aux new file mode 100644 index 0000000..a27d26c --- /dev/null +++ b/2019/Docker_Primer/docs/4.aux @@ -0,0 +1,14 @@ +\relax +\@writefile{toc}{\contentsline {section}{\numberline {1}Overview}{1}} +\@writefile{toc}{\contentsline {section}{\numberline {2}General Notes}{1}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Docker Commands Reference}{2}} +\@writefile{toc}{\contentsline {section}{\numberline {3}Specific Tips}{3}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}YAML is space sensitive}{3}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}If you restart a containers namesake process, it will probably restart / reset the container}{4}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Use a single reverse proxy, to handle multiple websites}{4}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}If you use a single reverse proxy, Lets Encrypt can be done easy}{4}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.5}Give every Container a Containername}{5}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.6}Beware of Interrupting Initting Containers}{5}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.7}Put Apache or Program logs from the Container in a volume that is locally accessible}{5}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.8}Only Restart Containers you need to Restart}{5}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.9}Volumes Mounting Over Existing Directories}{6}} diff --git a/2019/Docker_Primer/docs/4.log b/2019/Docker_Primer/docs/4.log new file mode 100644 index 0000000..40437e1 --- /dev/null +++ b/2019/Docker_Primer/docs/4.log @@ -0,0 +1,243 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 15 DEC 2019 20:13 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2019/Docker_Pr +imer/docs/4.tex + +(/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2019/Docker_Pri +mer/docs/4.tex +LaTeX2e <2017/01/01> patch level 3 +Babel <3.9r> and hyphenation patterns for 3 language(s) loaded. +(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls +Document Class: article 2014/09/29 v1.4h Standard LaTeX document class +(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo +File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +(/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty +Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package xcolor Info: Driver file: pdftex.def on input line 225. + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2017/01/12 v0.06k Graphics/color for pdfTeX + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty +Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty +Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) +) +\Gread@gobject=\count87 +) +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. +Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352. +Package xcolor Info: Model `RGB' extended on input line 1364. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. +) +(/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty +Package: geometry 2010/09/12 v5.6 Page Geometry + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks14 +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2016/05/14 v3.1 Provides the ifpdf switch +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty +Package: ifvtex 2016/05/16 v1.6 Detect VTeX and its facilities (HO) +Package ifvtex Info: VTeX not detected. +) +(/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty +Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional +) +\Gm@cnth=\count88 +\Gm@cntv=\count89 +\c@Gm@tempcnt=\count90 +\Gm@bindingoffset=\dimen103 +\Gm@wd@mp=\dimen104 +\Gm@odd@mp=\dimen105 +\Gm@even@mp=\dimen106 +\Gm@layoutwidth=\dimen107 +\Gm@layoutheight=\dimen108 +\Gm@layouthoffset=\dimen109 +\Gm@layoutvoffset=\dimen110 +\Gm@dimlist=\toks15 +) (./4.aux) +\openout1 = `4.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. + +(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count91 +\scratchdimen=\dimen111 +\scratchbox=\box26 +\nofMPsegments=\count92 +\nofMParguments=\count93 +\everyMPshowfont=\toks16 +\MPscratchCnt=\count94 +\MPscratchDim=\dimen112 +\MPnumerator=\count95 +\makeMPintoPDFobject=\count96 +\everyMPtoPDFconversion=\toks17 +) +*geometry* detected driver: dvips +*geometry* verbose mode - [ preamble ] result: +* driver: dvips +* paper: custom +* layout: +* layoutoffset:(h,v)=(0.0pt,0.0pt) +* vratio: 1:1 +* modes: +* h-part:(L,W,R)=(54.2025pt, 325.215pt, 54.2025pt) +* v-part:(T,H,B)=(79.49689pt, 491.43622pt, 79.49689pt) +* \paperwidth=433.62pt +* \paperheight=650.43pt +* \textwidth=325.215pt +* \textheight=491.43622pt +* \oddsidemargin=-18.06749pt +* \evensidemargin=-18.06749pt +* \topmargin=-29.7731pt +* \headheight=12.0pt +* \headsep=25.0pt +* \topskip=11.0pt +* \footskip=30.0pt +* \marginparwidth=59.0pt +* \marginparsep=10.0pt +* \columnsep=10.0pt +* \skip\footins=10.0pt plus 4.0pt minus 2.0pt +* \hoffset=0.0pt +* \voffset=0.0pt +* \mag=1000 +* \@twocolumnfalse +* \@twosidefalse +* \@mparswitchfalse +* \@reversemarginfalse +* (1in=72.27pt=25.4mm, 1cm=28.453pt) + +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 11. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 11. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 11. +(./4.toc) +\tf@toc=\write3 +\openout3 = `4.toc'. + +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <10.95> on input line 30. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <9> on input line 30. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <5> on input line 30. + +Underfull \hbox (badness 10000) in paragraph at lines 21--36 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 21--36 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 21--36 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 21--36 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 21--36 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 21--36 + + [] + +[1 +Non-PDF special ignored! + +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] +LaTeX Font Info: Try loading font information for OMS+cmr on input line 41. + +(/usr/share/texlive/texmf-dist/tex/latex/base/omscmr.fd +File: omscmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions +) +LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10.95> not available +(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 41. + [2] [3] [4] +Overfull \hbox (135.30914pt too wide) in paragraph at lines 99--100 +[]\OT1/cmr/m/n/10.95 This means you want a vol-ume some-thing like ./con-tain-e +rA[]files/logs:/var/www/log/apache2/ + [] + +[5] +Overfull \hbox (101.77167pt too wide) in paragraph at lines 107--108 +[]\OT1/cmr/m/n/10.95 As dis-cussed here: web.archive.org/web/https://github.com +/moby/moby/issues/4361, + [] + +[6] (./4.aux) ) +Here is how much of TeX's memory you used: + 1964 strings out of 494945 + 25834 string characters out of 6181032 + 91869 words of memory out of 5000000 + 5282 multiletter control sequences out of 15000+600000 + 9890 words of font info for 35 fonts, out of 8000000 for 9000 + 14 hyphenation exceptions out of 8191 + 24i,8n,35p,690b,247s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on 4.pdf (6 pages, 112299 bytes). +PDF statistics: + 55 PDF objects out of 1000 (max. 8388607) + 38 compressed objects within 1 object stream + 0 named destinations out of 1000 (max. 500000) + 1 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/2019/Docker_Primer/docs/4.pdf b/2019/Docker_Primer/docs/4.pdf new file mode 100644 index 0000000..9546a8a Binary files /dev/null and b/2019/Docker_Primer/docs/4.pdf differ diff --git a/2019/Docker_Primer/docs/4.tex b/2019/Docker_Primer/docs/4.tex new file mode 100644 index 0000000..0ff97c1 --- /dev/null +++ b/2019/Docker_Primer/docs/4.tex @@ -0,0 +1,111 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\usepackage{xcolor} +\usepackage[vcentering,dvips]{geometry} +\geometry{papersize={6in,9in},total={4.5in,6.8in}} +\title{\textbf{Docker Primer}} +\author{Steak Electronics} +\date{08/30/19} +\begin{document} + +\maketitle +\tableofcontents +\textcolor{green!60!blue!70}{ +\section{Overview}} +Docker is a program in the tradition of Virtualization. However, Docker differs from a Virtual Machine, in that it uses less resources, and allows for more containers (essentially isolated OS') to run. With Docker I can run 8 different websites on a Core 2 Duo. Docker makes it trivial to transport these websites to a new machine. It's as simple as copying the docker-compose (you should be using docker compose) yml configuration, and keeping all permenant volumes, and saved files in one folder. Docker is a little more setup upfront, but promises savings in time plus interest down the line. + +\textcolor{green!60!blue!70}{ +\section{General Notes}} +It always helps to read a book on a subject, and then keep it as a Reference. I have read ``Using Docker'' By Adrian Mouat. It is a decent book. Not bad. + +Here are some general tips: +\\ +\\ +First off, Docker is 64 bit only for i386 architecture. ARM has a separate build. There is no 32 bit, unfortunately. +\\ +\\ +You will want 'some' RAM. I had 1GB on a P4 machine, and that was not enough. 4GB was enough. +\\ +\\ +You should always use docker compose. If you read the book above, you will understand why. Docker can run on the command line (commands are somewhat complex for each container), but with a compose file, you can write everything down in a much simpler fashion. Use compose. It's a separate install, currently. Install it.\footnote{Seriously, just ignore the docker command lines. I consider them useless. More of a red herring for rookies.} +\\ +\\ +One of the benefits of docker, is its simplicity. There are essentially two commands you will ever need to know to use docker. Both must be run as root. One is \#docker (e.g. docker restart container\_name\_here). The other is docker-compose (e.g. \#docker-compose up -d). +\\ +\\ + +\textcolor{green!60!blue!70}{ +\subsection{Docker Commands Reference}} +Here is just the good stuff. +\begin{itemize} + \item docker-compose up -d (starts the containers in the docker compose file, if they aren't already started. the -d detaches from the stdout logging. You don't need to use stdout logging, you can use docker logs, but its there if you want it) +\item docker ps (lists containers running. If one fails to start, you'll see it missing from here) +\item docker logs (gives you some logging output from the container. Often enough to troubleshoot.) +\item docker exec -it /bin/bash (this will get you in a shell in the docker container. From here you can do what you need to. Most are debian, and need apt-get install less nano or whatever program you are missing. Ping is missing from possibly all containers, so if you want to test via ping, you'll have to apt-get it). + \item docker-compose restart (this will restart all containers. However, I don't recommend it. Initting containers can get corrupted this way, and also its much easier to restart a single faulty container via...) + \item docker restart (this will restart one single container.) + \item docker cp :/dir/to/file dest (you can copy files from local machine to docker, or vice versa with this. Extremely useful). +\end{itemize} +Less often, you might want to know docker kill and docker rmi -f . The first will stop a container, the second will remove an image. If you corrupt the install of a container, the second will save you. The force switch (-f) is required. Alternatively, you can just install a container of the same type with a new container name. \footnote{This is a good way to test that your containers are built in a reproducible way. If you are able to rebuild them by deleting everything, then you likely won't have trouble down the road.} + +\textcolor{green!60!blue!70}{ +\section{Specific Tips}} + +\textcolor{green!60!blue!70}{ +\subsection{YAML is space sensitive}} +When you edit the .yml file for docker-compose, you have to hit spaces in a certain pattern (tabs not allowed). This is absurd, but just be aware. The errors are cryptic, and its often just because the spacing doesn't stick to what it expects. + +\textcolor{green!60!blue!70}{ +\subsection{If you restart a containers namesake process, it will probably restart / reset the container}} +So if you are troubleshooting an apache container, you edit some files, then /etc/init.d/apache2 restart, uh oh... You just undid all the edits you made, if they aren't in a permanent volume. You can shell in, make edits, and then exit the shell, but a service restart often resets the container. + +\textcolor{green!60!blue!70}{ +\subsection{Use a single reverse proxy, to handle multiple websites}} +There are many ways to do this. I use an nginx proxy from scratch. You can also use some containers that are built for this purpose (I personally think it's bloated but a lot of people use Jason Wilder's proxy) +\footnote{https://github.com/jwilder/nginx-proxy - A lot of people swear by this, but I think it's straying too far from the motorcycle.} + +\textcolor{green!60!blue!70}{ +\subsection{If you use a single reverse proxy, Lets Encrypt can be done easy}} +In this case scenario you would have certbot on the host and a local volume that the proxy has access to which is the webroot of the Lets Encrypt scripts. The nginx proxy entry look something like this: +\begin{verbatim} +location ^~ /.well-known { + alias /var/www/html/.well-known/; + autoindex on; + } +\end{verbatim} +And this is put in every server declaration of nginx.conf. Real simple, real easy. The docker compose of the nginx proxy is something like: +\begin{verbatim} +nginx: + image: nginx:latest + container_name: custom_name_for_my_proxy + volumes: + - ./nginx.conf:/etc/nginx/nginx.conf + - /etc/letsencrypt/:/etc/letsencrypt/ + - ./webroot/:/var/www/html/ +\end{verbatim} +The volumes section is extremely simple, don't be scared. There are two entries. Local and remote. You specify what folder will be the local directory which will be cloned to the host at the remote path you specify. So, the host runs certbot at /etc/letsencrypt, and this folder is cloned to the nginx proxy container, at the same location. Finally, webroot must be set in certbot, but it prompts you for this\footnote{And if you forget or get it wrong, it can be configured somewhere in /etc/letsencrypt. it's a one liner text entry).} + + +\textcolor{green!60!blue!70}{ +\subsection{Give every Container a Containername}} +This makes it easier to refer to them later. All you need to do in the compose file is include container\_name: something. Much better than the gibberish they give these names if you don't include it. + +\textcolor{green!60!blue!70}{ +\subsection{Beware of Interrupting Initting Containers}} +When you first build a container, it might take 30-60 or more seconds to do whatever it needs to do. If, before then, you restart it... It may get corrupted. This has happened to me more than once. When you are testing a new container, and it doesn't seem to work for some inexplicable reason, create a container with a new name (it will create a new one), or delete the first one, and start it again. + +\textcolor{green!60!blue!70}{ +\subsection{Put Apache or Program logs from the Container in a volume that is locally accessible}} +This means you want a volume something like ./containerA\_files/logs:/var/www/log/apache2/ so that you can monitor the logs from your host machine easily. docker logs doesn't have everything. + +\textcolor{green!60!blue!70}{ +\subsection{Only Restart Containers you need to Restart}} +You can restart everything with docker-compose restart, but it's faster, and less prone to break initting containers, if you docker restart containername. Do the latter. + +\textcolor{green!60!blue!70}{ +\subsection{Volumes Mounting Over Existing Directories}} +As discussed here: web.archive.org/web/https://github.com/moby/moby/issues/4361, if you add a volume to an existing container, it will seem to delete the folder's contents. I've seen mixed behaviour with this. Sometimes it deletes it even if you start a new container with the folder... Other times it has not. In any case, just docker cp the files to the folder, then add the volume mount. + +\end{document} + + diff --git a/2019/Docker_Primer/docs/4.tex~ b/2019/Docker_Primer/docs/4.tex~ new file mode 100644 index 0000000..bc098d6 --- /dev/null +++ b/2019/Docker_Primer/docs/4.tex~ @@ -0,0 +1,86 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\title{\textbf{Docker Primer}} +\author{Steak Electronics} +\date{08/30/19} +\begin{document} + +\maketitle +\tableofcontents +\section{Overview} +Docker is a program in the tradition of Virtualization. However, Docker differs from a Virtual Machine, in that it uses less resources, and allows for more containers (essentially isolated OS') to run. With Docker I can run 8 different websites on a Core 2 Duo. Docker makes it trivial to transport these websites to a new machine. It's as simple as copying the docker-compose (you should be using docker compose) yml configuration, and keeping all permenant volumes, and saved files in one folder. Docker is a little more setup upfront, but promises savings in time plus interest down the line. +\section{General Notes} +It always helps to read a book on a subject, and then keep it as a Reference. I have read ``Using Docker'' By Adrian Mouat. It is a decent book. Not bad. + +Here are some general tips: +\\ +\\ +First off, Docker is 64 bit only for i386 architecture. ARM has a separate build. There is no 32 bit, unfortunately. +\\ +\\ +You will want 'some' RAM. I had 1GB on a P4 machine, and that was not enough. 4GB was enough. +\\ +\\ +You should always use docker compose. If you read the book above, you will understand why. Docker can run on the command line (commands are somewhat complex for each container), but with a compose file, you can write everything down in a much simpler fashion. Use compose. It's a separate install, currently. Install it.\footnote{Seriously, just ignore the docker command lines. I consider them useless. More of a red herring for rookies.} +\\ +\\ +One of the benefits of docker, is its simplicity. There are essentially two commands you will ever need to know to use docker. Both must be run as root. One is \#docker (e.g. docker restart container\_name\_here). The other is docker-compose (e.g. \#docker-compose up -d). +\\ +\\ + +\subsection{Docker Commands Reference} +Here is just the good stuff. +\begin{itemize} + \item docker-compose up -d (starts the containers in the docker compose file, if they aren't already started. the -d detaches from the stdout logging. You don't need to use stdout logging, you can use docker logs, but its there if you want it) +\item docker ps (lists containers running. If one fails to start, you'll see it missing from here) +\item docker logs (gives you some logging output from the container. Often enough to troubleshoot.) +\item docker exec -it /bin/bash (this will get you in a shell in the docker container. From here you can do what you need to. Most are debian, and need apt-get install less nano or whatever program you are missing. Ping is missing from possibly all containers, so if you want to test via ping, you'll have to apt-get it). + \item docker-compose restart (this will restart all containers. However, I don't recommend it. Initting containers can get corrupted this way, and also its much easier to restart a single faulty container via...) + \item docker restart (this will restart one single container.) + \item docker cp :/dir/to/file dest (you can copy files from local machine to docker, or vice versa with this. Extremely useful). +\end{itemize} +Less often, you might want to know docker kill and docker rmi -f . The first will stop a container, the second will remove an image. If you corrupt the install of a container, the second will save you. The force switch (-f) is required. Alternatively, you can just install a container of the same type with a new container name. \footnote{This is a good way to test that your containers are built in a reproducible way. If you are able to rebuild them by deleting everything, then you likely won't have trouble down the road.} + +\section{Specific Tips} + +\subsection{YAML is space sensitive} +When you edit the .yml file for docker-compose, you have to hit spaces in a certain pattern (tabs not allowed). This is absurd, but just be aware. The errors are cryptic, and its often just because the spacing doesn't stick to what it expects. +\subsection{If you restart a containers namesake process, it will probably restart / reset the container} +So if you are troubleshooting an apache container, you edit some files, then /etc/init.d/apache2 restart, uh oh... You just undid all the edits you made, if they aren't in a permanent volume. You can shell in, make edits, and then exit the shell, but a service restart often resets the container. +\subsection{Use a single reverse proxy, to handle multiple websites} +There are many ways to do this. I use an nginx proxy from scratch. You can also use some containers that are built for this purpose (I personally think it's bloated but a lot of people use Jason Wilder's proxy) +\footnote{https://github.com/jwilder/nginx-proxy - A lot of people swear by this, but I think it's straying too far from the motorcycle.} +\subsection{If you use a single reverse proxy, Lets Encrypt can be done easy} +In this case scenario you would have certbot on the host and a local volume that the proxy has access to which is the webroot of the Lets Encrypt scripts. The nginx proxy entry look something like this: +\begin{verbatim} +location ^~ /.well-known { + alias /var/www/html/.well-known/; + autoindex on; + } +\end{verbatim} +And this is put in every server declaration of nginx.conf. Real simple, real easy. The docker compose of the nginx proxy is something like: +\begin{verbatim} +nginx: + image: nginx:latest + container_name: custom_name_for_my_proxy + volumes: + - ./nginx.conf:/etc/nginx/nginx.conf + - /etc/letsencrypt/:/etc/letsencrypt/ + - ./webroot/:/var/www/html/ +\end{verbatim} +The volumes section is extremely simple, don't be scared. There are two entries. Local and remote. You specify what folder will be the local directory which will be cloned to the host at the remote path you specify. So, the host runs certbot at /etc/letsencrypt, and this folder is cloned to the nginx proxy container, at the same location. Finally, webroot must be set in certbot, but it prompts you for this\footnote{And if you forget or get it wrong, it can be configured somewhere in /etc/letsencrypt. it's a one liner text entry).} + +\subsection{Give every Container a Containername} +This makes it easier to refer to them later. All you need to do in the compose file is include container\_name: something. Much better than the gibberish they give these names if you don't include it. +\subsection{Beware of Interrupting Initting Containers} +When you first build a container, it might take 30-60 or more seconds to do whatever it needs to do. If, before then, you restart it... It may get corrupted. This has happened to me more than once. When you are testing a new container, and it doesn't seem to work for some inexplicable reason, create a container with a new name (it will create a new one), or delete the first one, and start it again. +\subsection{Put Apache or Program logs from the Container in a volume that is locally accessible} +This means you want a volume something like ./containerA\_files/logs:/var/www/log/apache2/ so that you can monitor the logs from your host machine easily. docker logs doesn't have everything. +\subsection{Only Restart Containers you need to Restart} +You can restart everything with docker-compose restart, but it's faster, and less prone to break initting containers, if you docker restart containername. Do the latter. +\subsection{Volumes Mounting Over Existing Directories} +As discussed here: web.archive.org/web/https://github.com/moby/moby/issues/4361, if you add a volume to an existing container, it will seem to delete the folder's contents. I've seen mixed behaviour with this. Sometimes it deletes it even if you start a new container with the folder... Other times it has not. In any case, just docker cp the files to the folder, then add the volume mount. + +\end{document} + + diff --git a/2019/Docker_Primer/docs/4.toc b/2019/Docker_Primer/docs/4.toc new file mode 100644 index 0000000..49b44e0 --- /dev/null +++ b/2019/Docker_Primer/docs/4.toc @@ -0,0 +1,13 @@ +\contentsline {section}{\numberline {1}Overview}{1} +\contentsline {section}{\numberline {2}General Notes}{1} +\contentsline {subsection}{\numberline {2.1}Docker Commands Reference}{2} +\contentsline {section}{\numberline {3}Specific Tips}{3} +\contentsline {subsection}{\numberline {3.1}YAML is space sensitive}{3} +\contentsline {subsection}{\numberline {3.2}If you restart a containers namesake process, it will probably restart / reset the container}{4} +\contentsline {subsection}{\numberline {3.3}Use a single reverse proxy, to handle multiple websites}{4} +\contentsline {subsection}{\numberline {3.4}If you use a single reverse proxy, Lets Encrypt can be done easy}{4} +\contentsline {subsection}{\numberline {3.5}Give every Container a Containername}{5} +\contentsline {subsection}{\numberline {3.6}Beware of Interrupting Initting Containers}{5} +\contentsline {subsection}{\numberline {3.7}Put Apache or Program logs from the Container in a volume that is locally accessible}{5} +\contentsline {subsection}{\numberline {3.8}Only Restart Containers you need to Restart}{5} +\contentsline {subsection}{\numberline {3.9}Volumes Mounting Over Existing Directories}{6} diff --git a/2019/Docker_Primer/docs/5.aux b/2019/Docker_Primer/docs/5.aux new file mode 100644 index 0000000..a27d26c --- /dev/null +++ b/2019/Docker_Primer/docs/5.aux @@ -0,0 +1,14 @@ +\relax +\@writefile{toc}{\contentsline {section}{\numberline {1}Overview}{1}} +\@writefile{toc}{\contentsline {section}{\numberline {2}General Notes}{1}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Docker Commands Reference}{2}} +\@writefile{toc}{\contentsline {section}{\numberline {3}Specific Tips}{3}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}YAML is space sensitive}{3}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}If you restart a containers namesake process, it will probably restart / reset the container}{4}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Use a single reverse proxy, to handle multiple websites}{4}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}If you use a single reverse proxy, Lets Encrypt can be done easy}{4}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.5}Give every Container a Containername}{5}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.6}Beware of Interrupting Initting Containers}{5}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.7}Put Apache or Program logs from the Container in a volume that is locally accessible}{5}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.8}Only Restart Containers you need to Restart}{5}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.9}Volumes Mounting Over Existing Directories}{6}} diff --git a/2019/Docker_Primer/docs/5.log b/2019/Docker_Primer/docs/5.log new file mode 100644 index 0000000..a2c1db3 --- /dev/null +++ b/2019/Docker_Primer/docs/5.log @@ -0,0 +1,243 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 15 DEC 2019 20:13 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2019/Docker_Pr +imer/docs/5.tex + +(/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2019/Docker_Pri +mer/docs/5.tex +LaTeX2e <2017/01/01> patch level 3 +Babel <3.9r> and hyphenation patterns for 3 language(s) loaded. +(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls +Document Class: article 2014/09/29 v1.4h Standard LaTeX document class +(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo +File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +(/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty +Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package xcolor Info: Driver file: pdftex.def on input line 225. + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2017/01/12 v0.06k Graphics/color for pdfTeX + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty +Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty +Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) +) +\Gread@gobject=\count87 +) +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. +Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352. +Package xcolor Info: Model `RGB' extended on input line 1364. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. +) +(/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty +Package: geometry 2010/09/12 v5.6 Page Geometry + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks14 +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2016/05/14 v3.1 Provides the ifpdf switch +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty +Package: ifvtex 2016/05/16 v1.6 Detect VTeX and its facilities (HO) +Package ifvtex Info: VTeX not detected. +) +(/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty +Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional +) +\Gm@cnth=\count88 +\Gm@cntv=\count89 +\c@Gm@tempcnt=\count90 +\Gm@bindingoffset=\dimen103 +\Gm@wd@mp=\dimen104 +\Gm@odd@mp=\dimen105 +\Gm@even@mp=\dimen106 +\Gm@layoutwidth=\dimen107 +\Gm@layoutheight=\dimen108 +\Gm@layouthoffset=\dimen109 +\Gm@layoutvoffset=\dimen110 +\Gm@dimlist=\toks15 +) +No file 5.aux. +\openout1 = `5.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count91 +\scratchdimen=\dimen111 +\scratchbox=\box26 +\nofMPsegments=\count92 +\nofMParguments=\count93 +\everyMPshowfont=\toks16 +\MPscratchCnt=\count94 +\MPscratchDim=\dimen112 +\MPnumerator=\count95 +\makeMPintoPDFobject=\count96 +\everyMPtoPDFconversion=\toks17 +) +*geometry* detected driver: dvips +*geometry* verbose mode - [ preamble ] result: +* driver: dvips +* paper: custom +* layout: +* layoutoffset:(h,v)=(0.0pt,0.0pt) +* vratio: 1:1 +* modes: +* h-part:(L,W,R)=(54.2025pt, 325.215pt, 54.2025pt) +* v-part:(T,H,B)=(79.49689pt, 491.43622pt, 79.49689pt) +* \paperwidth=433.62pt +* \paperheight=650.43pt +* \textwidth=325.215pt +* \textheight=491.43622pt +* \oddsidemargin=-18.06749pt +* \evensidemargin=-18.06749pt +* \topmargin=-29.7731pt +* \headheight=12.0pt +* \headsep=25.0pt +* \topskip=11.0pt +* \footskip=30.0pt +* \marginparwidth=59.0pt +* \marginparsep=10.0pt +* \columnsep=10.0pt +* \skip\footins=10.0pt plus 4.0pt minus 2.0pt +* \hoffset=0.0pt +* \voffset=0.0pt +* \mag=1000 +* \@twocolumnfalse +* \@twosidefalse +* \@mparswitchfalse +* \@reversemarginfalse +* (1in=72.27pt=25.4mm, 1cm=28.453pt) + +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 11. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 11. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 11. +No file 5.toc. +\tf@toc=\write3 +\openout3 = `5.toc'. + +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <10.95> on input line 30. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <9> on input line 30. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <5> on input line 30. + +Underfull \hbox (badness 10000) in paragraph at lines 21--36 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 21--36 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 21--36 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 21--36 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 21--36 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 21--36 + + [] + +[1 +Non-PDF special ignored! + +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] +LaTeX Font Info: Try loading font information for OMS+cmr on input line 41. + +(/usr/share/texlive/texmf-dist/tex/latex/base/omscmr.fd +File: omscmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions +) +LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10.95> not available +(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 41. + [2] [3] [4] +Overfull \hbox (135.30914pt too wide) in paragraph at lines 99--100 +[]\OT1/cmr/m/n/10.95 This means you want a vol-ume some-thing like ./con-tain-e +rA[]files/logs:/var/www/log/apache2/ + [] + +[5] +Overfull \hbox (101.77167pt too wide) in paragraph at lines 107--108 +[]\OT1/cmr/m/n/10.95 As dis-cussed here: web.archive.org/web/https://github.com +/moby/moby/issues/4361, + [] + +[6] (./5.aux) ) +Here is how much of TeX's memory you used: + 1960 strings out of 494945 + 25810 string characters out of 6181032 + 91869 words of memory out of 5000000 + 5282 multiletter control sequences out of 15000+600000 + 9890 words of font info for 35 fonts, out of 8000000 for 9000 + 14 hyphenation exceptions out of 8191 + 24i,8n,35p,690b,247s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on 5.pdf (6 pages, 112299 bytes). +PDF statistics: + 55 PDF objects out of 1000 (max. 8388607) + 38 compressed objects within 1 object stream + 0 named destinations out of 1000 (max. 500000) + 1 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/2019/Docker_Primer/docs/5.pdf b/2019/Docker_Primer/docs/5.pdf new file mode 100644 index 0000000..ea42a8f Binary files /dev/null and b/2019/Docker_Primer/docs/5.pdf differ diff --git a/2019/Docker_Primer/docs/5.tex b/2019/Docker_Primer/docs/5.tex new file mode 100644 index 0000000..0ff97c1 --- /dev/null +++ b/2019/Docker_Primer/docs/5.tex @@ -0,0 +1,111 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\usepackage{xcolor} +\usepackage[vcentering,dvips]{geometry} +\geometry{papersize={6in,9in},total={4.5in,6.8in}} +\title{\textbf{Docker Primer}} +\author{Steak Electronics} +\date{08/30/19} +\begin{document} + +\maketitle +\tableofcontents +\textcolor{green!60!blue!70}{ +\section{Overview}} +Docker is a program in the tradition of Virtualization. However, Docker differs from a Virtual Machine, in that it uses less resources, and allows for more containers (essentially isolated OS') to run. With Docker I can run 8 different websites on a Core 2 Duo. Docker makes it trivial to transport these websites to a new machine. It's as simple as copying the docker-compose (you should be using docker compose) yml configuration, and keeping all permenant volumes, and saved files in one folder. Docker is a little more setup upfront, but promises savings in time plus interest down the line. + +\textcolor{green!60!blue!70}{ +\section{General Notes}} +It always helps to read a book on a subject, and then keep it as a Reference. I have read ``Using Docker'' By Adrian Mouat. It is a decent book. Not bad. + +Here are some general tips: +\\ +\\ +First off, Docker is 64 bit only for i386 architecture. ARM has a separate build. There is no 32 bit, unfortunately. +\\ +\\ +You will want 'some' RAM. I had 1GB on a P4 machine, and that was not enough. 4GB was enough. +\\ +\\ +You should always use docker compose. If you read the book above, you will understand why. Docker can run on the command line (commands are somewhat complex for each container), but with a compose file, you can write everything down in a much simpler fashion. Use compose. It's a separate install, currently. Install it.\footnote{Seriously, just ignore the docker command lines. I consider them useless. More of a red herring for rookies.} +\\ +\\ +One of the benefits of docker, is its simplicity. There are essentially two commands you will ever need to know to use docker. Both must be run as root. One is \#docker (e.g. docker restart container\_name\_here). The other is docker-compose (e.g. \#docker-compose up -d). +\\ +\\ + +\textcolor{green!60!blue!70}{ +\subsection{Docker Commands Reference}} +Here is just the good stuff. +\begin{itemize} + \item docker-compose up -d (starts the containers in the docker compose file, if they aren't already started. the -d detaches from the stdout logging. You don't need to use stdout logging, you can use docker logs, but its there if you want it) +\item docker ps (lists containers running. If one fails to start, you'll see it missing from here) +\item docker logs (gives you some logging output from the container. Often enough to troubleshoot.) +\item docker exec -it /bin/bash (this will get you in a shell in the docker container. From here you can do what you need to. Most are debian, and need apt-get install less nano or whatever program you are missing. Ping is missing from possibly all containers, so if you want to test via ping, you'll have to apt-get it). + \item docker-compose restart (this will restart all containers. However, I don't recommend it. Initting containers can get corrupted this way, and also its much easier to restart a single faulty container via...) + \item docker restart (this will restart one single container.) + \item docker cp :/dir/to/file dest (you can copy files from local machine to docker, or vice versa with this. Extremely useful). +\end{itemize} +Less often, you might want to know docker kill and docker rmi -f . The first will stop a container, the second will remove an image. If you corrupt the install of a container, the second will save you. The force switch (-f) is required. Alternatively, you can just install a container of the same type with a new container name. \footnote{This is a good way to test that your containers are built in a reproducible way. If you are able to rebuild them by deleting everything, then you likely won't have trouble down the road.} + +\textcolor{green!60!blue!70}{ +\section{Specific Tips}} + +\textcolor{green!60!blue!70}{ +\subsection{YAML is space sensitive}} +When you edit the .yml file for docker-compose, you have to hit spaces in a certain pattern (tabs not allowed). This is absurd, but just be aware. The errors are cryptic, and its often just because the spacing doesn't stick to what it expects. + +\textcolor{green!60!blue!70}{ +\subsection{If you restart a containers namesake process, it will probably restart / reset the container}} +So if you are troubleshooting an apache container, you edit some files, then /etc/init.d/apache2 restart, uh oh... You just undid all the edits you made, if they aren't in a permanent volume. You can shell in, make edits, and then exit the shell, but a service restart often resets the container. + +\textcolor{green!60!blue!70}{ +\subsection{Use a single reverse proxy, to handle multiple websites}} +There are many ways to do this. I use an nginx proxy from scratch. You can also use some containers that are built for this purpose (I personally think it's bloated but a lot of people use Jason Wilder's proxy) +\footnote{https://github.com/jwilder/nginx-proxy - A lot of people swear by this, but I think it's straying too far from the motorcycle.} + +\textcolor{green!60!blue!70}{ +\subsection{If you use a single reverse proxy, Lets Encrypt can be done easy}} +In this case scenario you would have certbot on the host and a local volume that the proxy has access to which is the webroot of the Lets Encrypt scripts. The nginx proxy entry look something like this: +\begin{verbatim} +location ^~ /.well-known { + alias /var/www/html/.well-known/; + autoindex on; + } +\end{verbatim} +And this is put in every server declaration of nginx.conf. Real simple, real easy. The docker compose of the nginx proxy is something like: +\begin{verbatim} +nginx: + image: nginx:latest + container_name: custom_name_for_my_proxy + volumes: + - ./nginx.conf:/etc/nginx/nginx.conf + - /etc/letsencrypt/:/etc/letsencrypt/ + - ./webroot/:/var/www/html/ +\end{verbatim} +The volumes section is extremely simple, don't be scared. There are two entries. Local and remote. You specify what folder will be the local directory which will be cloned to the host at the remote path you specify. So, the host runs certbot at /etc/letsencrypt, and this folder is cloned to the nginx proxy container, at the same location. Finally, webroot must be set in certbot, but it prompts you for this\footnote{And if you forget or get it wrong, it can be configured somewhere in /etc/letsencrypt. it's a one liner text entry).} + + +\textcolor{green!60!blue!70}{ +\subsection{Give every Container a Containername}} +This makes it easier to refer to them later. All you need to do in the compose file is include container\_name: something. Much better than the gibberish they give these names if you don't include it. + +\textcolor{green!60!blue!70}{ +\subsection{Beware of Interrupting Initting Containers}} +When you first build a container, it might take 30-60 or more seconds to do whatever it needs to do. If, before then, you restart it... It may get corrupted. This has happened to me more than once. When you are testing a new container, and it doesn't seem to work for some inexplicable reason, create a container with a new name (it will create a new one), or delete the first one, and start it again. + +\textcolor{green!60!blue!70}{ +\subsection{Put Apache or Program logs from the Container in a volume that is locally accessible}} +This means you want a volume something like ./containerA\_files/logs:/var/www/log/apache2/ so that you can monitor the logs from your host machine easily. docker logs doesn't have everything. + +\textcolor{green!60!blue!70}{ +\subsection{Only Restart Containers you need to Restart}} +You can restart everything with docker-compose restart, but it's faster, and less prone to break initting containers, if you docker restart containername. Do the latter. + +\textcolor{green!60!blue!70}{ +\subsection{Volumes Mounting Over Existing Directories}} +As discussed here: web.archive.org/web/https://github.com/moby/moby/issues/4361, if you add a volume to an existing container, it will seem to delete the folder's contents. I've seen mixed behaviour with this. Sometimes it deletes it even if you start a new container with the folder... Other times it has not. In any case, just docker cp the files to the folder, then add the volume mount. + +\end{document} + + diff --git a/2019/Docker_Primer/docs/5.toc b/2019/Docker_Primer/docs/5.toc new file mode 100644 index 0000000..49b44e0 --- /dev/null +++ b/2019/Docker_Primer/docs/5.toc @@ -0,0 +1,13 @@ +\contentsline {section}{\numberline {1}Overview}{1} +\contentsline {section}{\numberline {2}General Notes}{1} +\contentsline {subsection}{\numberline {2.1}Docker Commands Reference}{2} +\contentsline {section}{\numberline {3}Specific Tips}{3} +\contentsline {subsection}{\numberline {3.1}YAML is space sensitive}{3} +\contentsline {subsection}{\numberline {3.2}If you restart a containers namesake process, it will probably restart / reset the container}{4} +\contentsline {subsection}{\numberline {3.3}Use a single reverse proxy, to handle multiple websites}{4} +\contentsline {subsection}{\numberline {3.4}If you use a single reverse proxy, Lets Encrypt can be done easy}{4} +\contentsline {subsection}{\numberline {3.5}Give every Container a Containername}{5} +\contentsline {subsection}{\numberline {3.6}Beware of Interrupting Initting Containers}{5} +\contentsline {subsection}{\numberline {3.7}Put Apache or Program logs from the Container in a volume that is locally accessible}{5} +\contentsline {subsection}{\numberline {3.8}Only Restart Containers you need to Restart}{5} +\contentsline {subsection}{\numberline {3.9}Volumes Mounting Over Existing Directories}{6} diff --git a/2019/Docker_Primer/docs/6.aux b/2019/Docker_Primer/docs/6.aux new file mode 100644 index 0000000..7cf019e --- /dev/null +++ b/2019/Docker_Primer/docs/6.aux @@ -0,0 +1,14 @@ +\relax +\@writefile{toc}{\contentsline {section}{\numberline {1}Overview}{1}} +\@writefile{toc}{\contentsline {section}{\numberline {2}General Notes}{2}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Docker Commands Reference}{3}} +\@writefile{toc}{\contentsline {section}{\numberline {3}Specific Tips}{4}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}YAML is space sensitive}{4}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}If you restart a containers namesake process, it will probably restart / reset the container}{4}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Use a single reverse proxy, to handle multiple websites}{4}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}If you use a single reverse proxy, Lets Encrypt can be done easy}{5}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.5}Give every Container a Containername}{5}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.6}Beware of Interrupting Initting Containers}{6}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.7}Put Apache or Program logs from the Container in a volume that is locally accessible}{6}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.8}Only Restart Containers you need to Restart}{6}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.9}Volumes Mounting Over Existing Directories}{6}} diff --git a/2019/Docker_Primer/docs/6.log b/2019/Docker_Primer/docs/6.log new file mode 100644 index 0000000..20d5434 --- /dev/null +++ b/2019/Docker_Primer/docs/6.log @@ -0,0 +1,245 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 15 DEC 2019 20:14 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2019/Docker_Pr +imer/docs/6.tex + +(/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2019/Docker_Pri +mer/docs/6.tex +LaTeX2e <2017/01/01> patch level 3 +Babel <3.9r> and hyphenation patterns for 3 language(s) loaded. +(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls +Document Class: article 2014/09/29 v1.4h Standard LaTeX document class +(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo +File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +(/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty +Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package xcolor Info: Driver file: pdftex.def on input line 225. + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2017/01/12 v0.06k Graphics/color for pdfTeX + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty +Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty +Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) +) +\Gread@gobject=\count87 +) +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. +Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352. +Package xcolor Info: Model `RGB' extended on input line 1364. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. +) +(/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty +Package: geometry 2010/09/12 v5.6 Page Geometry + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks14 +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2016/05/14 v3.1 Provides the ifpdf switch +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty +Package: ifvtex 2016/05/16 v1.6 Detect VTeX and its facilities (HO) +Package ifvtex Info: VTeX not detected. +) +(/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty +Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional +) +\Gm@cnth=\count88 +\Gm@cntv=\count89 +\c@Gm@tempcnt=\count90 +\Gm@bindingoffset=\dimen103 +\Gm@wd@mp=\dimen104 +\Gm@odd@mp=\dimen105 +\Gm@even@mp=\dimen106 +\Gm@layoutwidth=\dimen107 +\Gm@layoutheight=\dimen108 +\Gm@layouthoffset=\dimen109 +\Gm@layoutvoffset=\dimen110 +\Gm@dimlist=\toks15 +) (./6.aux) +\openout1 = `6.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. + +(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count91 +\scratchdimen=\dimen111 +\scratchbox=\box26 +\nofMPsegments=\count92 +\nofMParguments=\count93 +\everyMPshowfont=\toks16 +\MPscratchCnt=\count94 +\MPscratchDim=\dimen112 +\MPnumerator=\count95 +\makeMPintoPDFobject=\count96 +\everyMPtoPDFconversion=\toks17 +) +*geometry* detected driver: dvips +*geometry* verbose mode - [ preamble ] result: +* driver: dvips +* paper: custom +* layout: +* layoutoffset:(h,v)=(0.0pt,0.0pt) +* vratio: 1:1 +* modes: +* h-part:(L,W,R)=(54.2025pt, 325.215pt, 54.2025pt) +* v-part:(T,H,B)=(79.49689pt, 491.43622pt, 79.49689pt) +* \paperwidth=433.62pt +* \paperheight=650.43pt +* \textwidth=325.215pt +* \textheight=491.43622pt +* \oddsidemargin=-18.06749pt +* \evensidemargin=-18.06749pt +* \topmargin=-29.7731pt +* \headheight=12.0pt +* \headsep=25.0pt +* \topskip=11.0pt +* \footskip=30.0pt +* \marginparwidth=59.0pt +* \marginparsep=10.0pt +* \columnsep=10.0pt +* \skip\footins=10.0pt plus 4.0pt minus 2.0pt +* \hoffset=0.0pt +* \voffset=0.0pt +* \mag=1000 +* \@twocolumnfalse +* \@twosidefalse +* \@mparswitchfalse +* \@reversemarginfalse +* (1in=72.27pt=25.4mm, 1cm=28.453pt) + +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 11. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 11. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 11. +(./6.toc +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <10.95> on input line 3. +) +\tf@toc=\write3 +\openout3 = `6.toc'. + + [1 +Non-PDF special ignored! + +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <9> on input line 30. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <5> on input line 30. + +Underfull \hbox (badness 10000) in paragraph at lines 21--36 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 21--36 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 21--36 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 21--36 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 21--36 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 21--36 + + [] + +[2] +LaTeX Font Info: Try loading font information for OMS+cmr on input line 41. + (/usr/share/texlive/texmf-dist/tex/latex/base/omscmr.fd +File: omscmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions +) +LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10.95> not available +(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 41. + [3] [4] [5] +Overfull \hbox (135.30914pt too wide) in paragraph at lines 99--100 +[]\OT1/cmr/m/n/10.95 This means you want a vol-ume some-thing like ./con-tain-e +rA[]files/logs:/var/www/log/apache2/ + [] + + +Overfull \hbox (101.77167pt too wide) in paragraph at lines 107--108 +[]\OT1/cmr/m/n/10.95 As dis-cussed here: web.archive.org/web/https://github.com +/moby/moby/issues/4361, + [] + +[6] (./6.aux) ) +Here is how much of TeX's memory you used: + 1966 strings out of 494945 + 25858 string characters out of 6181032 + 91869 words of memory out of 5000000 + 5283 multiletter control sequences out of 15000+600000 + 10198 words of font info for 36 fonts, out of 8000000 for 9000 + 14 hyphenation exceptions out of 8191 + 23i,8n,35p,690b,189s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on 6.pdf (6 pages, 126530 bytes). +PDF statistics: + 59 PDF objects out of 1000 (max. 8388607) + 41 compressed objects within 1 object stream + 0 named destinations out of 1000 (max. 500000) + 1 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/2019/Docker_Primer/docs/6.pdf b/2019/Docker_Primer/docs/6.pdf new file mode 100644 index 0000000..956449b Binary files /dev/null and b/2019/Docker_Primer/docs/6.pdf differ diff --git a/2019/Docker_Primer/docs/6.tex b/2019/Docker_Primer/docs/6.tex new file mode 100644 index 0000000..0ff97c1 --- /dev/null +++ b/2019/Docker_Primer/docs/6.tex @@ -0,0 +1,111 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\usepackage{xcolor} +\usepackage[vcentering,dvips]{geometry} +\geometry{papersize={6in,9in},total={4.5in,6.8in}} +\title{\textbf{Docker Primer}} +\author{Steak Electronics} +\date{08/30/19} +\begin{document} + +\maketitle +\tableofcontents +\textcolor{green!60!blue!70}{ +\section{Overview}} +Docker is a program in the tradition of Virtualization. However, Docker differs from a Virtual Machine, in that it uses less resources, and allows for more containers (essentially isolated OS') to run. With Docker I can run 8 different websites on a Core 2 Duo. Docker makes it trivial to transport these websites to a new machine. It's as simple as copying the docker-compose (you should be using docker compose) yml configuration, and keeping all permenant volumes, and saved files in one folder. Docker is a little more setup upfront, but promises savings in time plus interest down the line. + +\textcolor{green!60!blue!70}{ +\section{General Notes}} +It always helps to read a book on a subject, and then keep it as a Reference. I have read ``Using Docker'' By Adrian Mouat. It is a decent book. Not bad. + +Here are some general tips: +\\ +\\ +First off, Docker is 64 bit only for i386 architecture. ARM has a separate build. There is no 32 bit, unfortunately. +\\ +\\ +You will want 'some' RAM. I had 1GB on a P4 machine, and that was not enough. 4GB was enough. +\\ +\\ +You should always use docker compose. If you read the book above, you will understand why. Docker can run on the command line (commands are somewhat complex for each container), but with a compose file, you can write everything down in a much simpler fashion. Use compose. It's a separate install, currently. Install it.\footnote{Seriously, just ignore the docker command lines. I consider them useless. More of a red herring for rookies.} +\\ +\\ +One of the benefits of docker, is its simplicity. There are essentially two commands you will ever need to know to use docker. Both must be run as root. One is \#docker (e.g. docker restart container\_name\_here). The other is docker-compose (e.g. \#docker-compose up -d). +\\ +\\ + +\textcolor{green!60!blue!70}{ +\subsection{Docker Commands Reference}} +Here is just the good stuff. +\begin{itemize} + \item docker-compose up -d (starts the containers in the docker compose file, if they aren't already started. the -d detaches from the stdout logging. You don't need to use stdout logging, you can use docker logs, but its there if you want it) +\item docker ps (lists containers running. If one fails to start, you'll see it missing from here) +\item docker logs (gives you some logging output from the container. Often enough to troubleshoot.) +\item docker exec -it /bin/bash (this will get you in a shell in the docker container. From here you can do what you need to. Most are debian, and need apt-get install less nano or whatever program you are missing. Ping is missing from possibly all containers, so if you want to test via ping, you'll have to apt-get it). + \item docker-compose restart (this will restart all containers. However, I don't recommend it. Initting containers can get corrupted this way, and also its much easier to restart a single faulty container via...) + \item docker restart (this will restart one single container.) + \item docker cp :/dir/to/file dest (you can copy files from local machine to docker, or vice versa with this. Extremely useful). +\end{itemize} +Less often, you might want to know docker kill and docker rmi -f . The first will stop a container, the second will remove an image. If you corrupt the install of a container, the second will save you. The force switch (-f) is required. Alternatively, you can just install a container of the same type with a new container name. \footnote{This is a good way to test that your containers are built in a reproducible way. If you are able to rebuild them by deleting everything, then you likely won't have trouble down the road.} + +\textcolor{green!60!blue!70}{ +\section{Specific Tips}} + +\textcolor{green!60!blue!70}{ +\subsection{YAML is space sensitive}} +When you edit the .yml file for docker-compose, you have to hit spaces in a certain pattern (tabs not allowed). This is absurd, but just be aware. The errors are cryptic, and its often just because the spacing doesn't stick to what it expects. + +\textcolor{green!60!blue!70}{ +\subsection{If you restart a containers namesake process, it will probably restart / reset the container}} +So if you are troubleshooting an apache container, you edit some files, then /etc/init.d/apache2 restart, uh oh... You just undid all the edits you made, if they aren't in a permanent volume. You can shell in, make edits, and then exit the shell, but a service restart often resets the container. + +\textcolor{green!60!blue!70}{ +\subsection{Use a single reverse proxy, to handle multiple websites}} +There are many ways to do this. I use an nginx proxy from scratch. You can also use some containers that are built for this purpose (I personally think it's bloated but a lot of people use Jason Wilder's proxy) +\footnote{https://github.com/jwilder/nginx-proxy - A lot of people swear by this, but I think it's straying too far from the motorcycle.} + +\textcolor{green!60!blue!70}{ +\subsection{If you use a single reverse proxy, Lets Encrypt can be done easy}} +In this case scenario you would have certbot on the host and a local volume that the proxy has access to which is the webroot of the Lets Encrypt scripts. The nginx proxy entry look something like this: +\begin{verbatim} +location ^~ /.well-known { + alias /var/www/html/.well-known/; + autoindex on; + } +\end{verbatim} +And this is put in every server declaration of nginx.conf. Real simple, real easy. The docker compose of the nginx proxy is something like: +\begin{verbatim} +nginx: + image: nginx:latest + container_name: custom_name_for_my_proxy + volumes: + - ./nginx.conf:/etc/nginx/nginx.conf + - /etc/letsencrypt/:/etc/letsencrypt/ + - ./webroot/:/var/www/html/ +\end{verbatim} +The volumes section is extremely simple, don't be scared. There are two entries. Local and remote. You specify what folder will be the local directory which will be cloned to the host at the remote path you specify. So, the host runs certbot at /etc/letsencrypt, and this folder is cloned to the nginx proxy container, at the same location. Finally, webroot must be set in certbot, but it prompts you for this\footnote{And if you forget or get it wrong, it can be configured somewhere in /etc/letsencrypt. it's a one liner text entry).} + + +\textcolor{green!60!blue!70}{ +\subsection{Give every Container a Containername}} +This makes it easier to refer to them later. All you need to do in the compose file is include container\_name: something. Much better than the gibberish they give these names if you don't include it. + +\textcolor{green!60!blue!70}{ +\subsection{Beware of Interrupting Initting Containers}} +When you first build a container, it might take 30-60 or more seconds to do whatever it needs to do. If, before then, you restart it... It may get corrupted. This has happened to me more than once. When you are testing a new container, and it doesn't seem to work for some inexplicable reason, create a container with a new name (it will create a new one), or delete the first one, and start it again. + +\textcolor{green!60!blue!70}{ +\subsection{Put Apache or Program logs from the Container in a volume that is locally accessible}} +This means you want a volume something like ./containerA\_files/logs:/var/www/log/apache2/ so that you can monitor the logs from your host machine easily. docker logs doesn't have everything. + +\textcolor{green!60!blue!70}{ +\subsection{Only Restart Containers you need to Restart}} +You can restart everything with docker-compose restart, but it's faster, and less prone to break initting containers, if you docker restart containername. Do the latter. + +\textcolor{green!60!blue!70}{ +\subsection{Volumes Mounting Over Existing Directories}} +As discussed here: web.archive.org/web/https://github.com/moby/moby/issues/4361, if you add a volume to an existing container, it will seem to delete the folder's contents. I've seen mixed behaviour with this. Sometimes it deletes it even if you start a new container with the folder... Other times it has not. In any case, just docker cp the files to the folder, then add the volume mount. + +\end{document} + + diff --git a/2019/Docker_Primer/docs/6.tex~ b/2019/Docker_Primer/docs/6.tex~ new file mode 100644 index 0000000..0ff97c1 --- /dev/null +++ b/2019/Docker_Primer/docs/6.tex~ @@ -0,0 +1,111 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\usepackage{xcolor} +\usepackage[vcentering,dvips]{geometry} +\geometry{papersize={6in,9in},total={4.5in,6.8in}} +\title{\textbf{Docker Primer}} +\author{Steak Electronics} +\date{08/30/19} +\begin{document} + +\maketitle +\tableofcontents +\textcolor{green!60!blue!70}{ +\section{Overview}} +Docker is a program in the tradition of Virtualization. However, Docker differs from a Virtual Machine, in that it uses less resources, and allows for more containers (essentially isolated OS') to run. With Docker I can run 8 different websites on a Core 2 Duo. Docker makes it trivial to transport these websites to a new machine. It's as simple as copying the docker-compose (you should be using docker compose) yml configuration, and keeping all permenant volumes, and saved files in one folder. Docker is a little more setup upfront, but promises savings in time plus interest down the line. + +\textcolor{green!60!blue!70}{ +\section{General Notes}} +It always helps to read a book on a subject, and then keep it as a Reference. I have read ``Using Docker'' By Adrian Mouat. It is a decent book. Not bad. + +Here are some general tips: +\\ +\\ +First off, Docker is 64 bit only for i386 architecture. ARM has a separate build. There is no 32 bit, unfortunately. +\\ +\\ +You will want 'some' RAM. I had 1GB on a P4 machine, and that was not enough. 4GB was enough. +\\ +\\ +You should always use docker compose. If you read the book above, you will understand why. Docker can run on the command line (commands are somewhat complex for each container), but with a compose file, you can write everything down in a much simpler fashion. Use compose. It's a separate install, currently. Install it.\footnote{Seriously, just ignore the docker command lines. I consider them useless. More of a red herring for rookies.} +\\ +\\ +One of the benefits of docker, is its simplicity. There are essentially two commands you will ever need to know to use docker. Both must be run as root. One is \#docker (e.g. docker restart container\_name\_here). The other is docker-compose (e.g. \#docker-compose up -d). +\\ +\\ + +\textcolor{green!60!blue!70}{ +\subsection{Docker Commands Reference}} +Here is just the good stuff. +\begin{itemize} + \item docker-compose up -d (starts the containers in the docker compose file, if they aren't already started. the -d detaches from the stdout logging. You don't need to use stdout logging, you can use docker logs, but its there if you want it) +\item docker ps (lists containers running. If one fails to start, you'll see it missing from here) +\item docker logs (gives you some logging output from the container. Often enough to troubleshoot.) +\item docker exec -it /bin/bash (this will get you in a shell in the docker container. From here you can do what you need to. Most are debian, and need apt-get install less nano or whatever program you are missing. Ping is missing from possibly all containers, so if you want to test via ping, you'll have to apt-get it). + \item docker-compose restart (this will restart all containers. However, I don't recommend it. Initting containers can get corrupted this way, and also its much easier to restart a single faulty container via...) + \item docker restart (this will restart one single container.) + \item docker cp :/dir/to/file dest (you can copy files from local machine to docker, or vice versa with this. Extremely useful). +\end{itemize} +Less often, you might want to know docker kill and docker rmi -f . The first will stop a container, the second will remove an image. If you corrupt the install of a container, the second will save you. The force switch (-f) is required. Alternatively, you can just install a container of the same type with a new container name. \footnote{This is a good way to test that your containers are built in a reproducible way. If you are able to rebuild them by deleting everything, then you likely won't have trouble down the road.} + +\textcolor{green!60!blue!70}{ +\section{Specific Tips}} + +\textcolor{green!60!blue!70}{ +\subsection{YAML is space sensitive}} +When you edit the .yml file for docker-compose, you have to hit spaces in a certain pattern (tabs not allowed). This is absurd, but just be aware. The errors are cryptic, and its often just because the spacing doesn't stick to what it expects. + +\textcolor{green!60!blue!70}{ +\subsection{If you restart a containers namesake process, it will probably restart / reset the container}} +So if you are troubleshooting an apache container, you edit some files, then /etc/init.d/apache2 restart, uh oh... You just undid all the edits you made, if they aren't in a permanent volume. You can shell in, make edits, and then exit the shell, but a service restart often resets the container. + +\textcolor{green!60!blue!70}{ +\subsection{Use a single reverse proxy, to handle multiple websites}} +There are many ways to do this. I use an nginx proxy from scratch. You can also use some containers that are built for this purpose (I personally think it's bloated but a lot of people use Jason Wilder's proxy) +\footnote{https://github.com/jwilder/nginx-proxy - A lot of people swear by this, but I think it's straying too far from the motorcycle.} + +\textcolor{green!60!blue!70}{ +\subsection{If you use a single reverse proxy, Lets Encrypt can be done easy}} +In this case scenario you would have certbot on the host and a local volume that the proxy has access to which is the webroot of the Lets Encrypt scripts. The nginx proxy entry look something like this: +\begin{verbatim} +location ^~ /.well-known { + alias /var/www/html/.well-known/; + autoindex on; + } +\end{verbatim} +And this is put in every server declaration of nginx.conf. Real simple, real easy. The docker compose of the nginx proxy is something like: +\begin{verbatim} +nginx: + image: nginx:latest + container_name: custom_name_for_my_proxy + volumes: + - ./nginx.conf:/etc/nginx/nginx.conf + - /etc/letsencrypt/:/etc/letsencrypt/ + - ./webroot/:/var/www/html/ +\end{verbatim} +The volumes section is extremely simple, don't be scared. There are two entries. Local and remote. You specify what folder will be the local directory which will be cloned to the host at the remote path you specify. So, the host runs certbot at /etc/letsencrypt, and this folder is cloned to the nginx proxy container, at the same location. Finally, webroot must be set in certbot, but it prompts you for this\footnote{And if you forget or get it wrong, it can be configured somewhere in /etc/letsencrypt. it's a one liner text entry).} + + +\textcolor{green!60!blue!70}{ +\subsection{Give every Container a Containername}} +This makes it easier to refer to them later. All you need to do in the compose file is include container\_name: something. Much better than the gibberish they give these names if you don't include it. + +\textcolor{green!60!blue!70}{ +\subsection{Beware of Interrupting Initting Containers}} +When you first build a container, it might take 30-60 or more seconds to do whatever it needs to do. If, before then, you restart it... It may get corrupted. This has happened to me more than once. When you are testing a new container, and it doesn't seem to work for some inexplicable reason, create a container with a new name (it will create a new one), or delete the first one, and start it again. + +\textcolor{green!60!blue!70}{ +\subsection{Put Apache or Program logs from the Container in a volume that is locally accessible}} +This means you want a volume something like ./containerA\_files/logs:/var/www/log/apache2/ so that you can monitor the logs from your host machine easily. docker logs doesn't have everything. + +\textcolor{green!60!blue!70}{ +\subsection{Only Restart Containers you need to Restart}} +You can restart everything with docker-compose restart, but it's faster, and less prone to break initting containers, if you docker restart containername. Do the latter. + +\textcolor{green!60!blue!70}{ +\subsection{Volumes Mounting Over Existing Directories}} +As discussed here: web.archive.org/web/https://github.com/moby/moby/issues/4361, if you add a volume to an existing container, it will seem to delete the folder's contents. I've seen mixed behaviour with this. Sometimes it deletes it even if you start a new container with the folder... Other times it has not. In any case, just docker cp the files to the folder, then add the volume mount. + +\end{document} + + diff --git a/2019/Docker_Primer/docs/6.toc b/2019/Docker_Primer/docs/6.toc new file mode 100644 index 0000000..d68891f --- /dev/null +++ b/2019/Docker_Primer/docs/6.toc @@ -0,0 +1,13 @@ +\contentsline {section}{\numberline {1}Overview}{1} +\contentsline {section}{\numberline {2}General Notes}{2} +\contentsline {subsection}{\numberline {2.1}Docker Commands Reference}{3} +\contentsline {section}{\numberline {3}Specific Tips}{4} +\contentsline {subsection}{\numberline {3.1}YAML is space sensitive}{4} +\contentsline {subsection}{\numberline {3.2}If you restart a containers namesake process, it will probably restart / reset the container}{4} +\contentsline {subsection}{\numberline {3.3}Use a single reverse proxy, to handle multiple websites}{4} +\contentsline {subsection}{\numberline {3.4}If you use a single reverse proxy, Lets Encrypt can be done easy}{5} +\contentsline {subsection}{\numberline {3.5}Give every Container a Containername}{5} +\contentsline {subsection}{\numberline {3.6}Beware of Interrupting Initting Containers}{6} +\contentsline {subsection}{\numberline {3.7}Put Apache or Program logs from the Container in a volume that is locally accessible}{6} +\contentsline {subsection}{\numberline {3.8}Only Restart Containers you need to Restart}{6} +\contentsline {subsection}{\numberline {3.9}Volumes Mounting Over Existing Directories}{6} diff --git a/2019/Docker_Primer/docs/7.aux b/2019/Docker_Primer/docs/7.aux new file mode 100644 index 0000000..7cf019e --- /dev/null +++ b/2019/Docker_Primer/docs/7.aux @@ -0,0 +1,14 @@ +\relax +\@writefile{toc}{\contentsline {section}{\numberline {1}Overview}{1}} +\@writefile{toc}{\contentsline {section}{\numberline {2}General Notes}{2}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Docker Commands Reference}{3}} +\@writefile{toc}{\contentsline {section}{\numberline {3}Specific Tips}{4}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}YAML is space sensitive}{4}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}If you restart a containers namesake process, it will probably restart / reset the container}{4}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Use a single reverse proxy, to handle multiple websites}{4}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}If you use a single reverse proxy, Lets Encrypt can be done easy}{5}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.5}Give every Container a Containername}{5}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.6}Beware of Interrupting Initting Containers}{6}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.7}Put Apache or Program logs from the Container in a volume that is locally accessible}{6}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.8}Only Restart Containers you need to Restart}{6}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.9}Volumes Mounting Over Existing Directories}{6}} diff --git a/2019/Docker_Primer/docs/7.log b/2019/Docker_Primer/docs/7.log new file mode 100644 index 0000000..0acaa9e --- /dev/null +++ b/2019/Docker_Primer/docs/7.log @@ -0,0 +1,245 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 15 DEC 2019 20:16 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2019/Docker_Pr +imer/docs/7.tex + +(/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2019/Docker_Pri +mer/docs/7.tex +LaTeX2e <2017/01/01> patch level 3 +Babel <3.9r> and hyphenation patterns for 3 language(s) loaded. +(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls +Document Class: article 2014/09/29 v1.4h Standard LaTeX document class +(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo +File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +(/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty +Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package xcolor Info: Driver file: pdftex.def on input line 225. + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2017/01/12 v0.06k Graphics/color for pdfTeX + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty +Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty +Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) +) +\Gread@gobject=\count87 +) +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. +Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352. +Package xcolor Info: Model `RGB' extended on input line 1364. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. +) +(/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty +Package: geometry 2010/09/12 v5.6 Page Geometry + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks14 +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2016/05/14 v3.1 Provides the ifpdf switch +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty +Package: ifvtex 2016/05/16 v1.6 Detect VTeX and its facilities (HO) +Package ifvtex Info: VTeX not detected. +) +(/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty +Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional +) +\Gm@cnth=\count88 +\Gm@cntv=\count89 +\c@Gm@tempcnt=\count90 +\Gm@bindingoffset=\dimen103 +\Gm@wd@mp=\dimen104 +\Gm@odd@mp=\dimen105 +\Gm@even@mp=\dimen106 +\Gm@layoutwidth=\dimen107 +\Gm@layoutheight=\dimen108 +\Gm@layouthoffset=\dimen109 +\Gm@layoutvoffset=\dimen110 +\Gm@dimlist=\toks15 +) (./7.aux) +\openout1 = `7.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. + +(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count91 +\scratchdimen=\dimen111 +\scratchbox=\box26 +\nofMPsegments=\count92 +\nofMParguments=\count93 +\everyMPshowfont=\toks16 +\MPscratchCnt=\count94 +\MPscratchDim=\dimen112 +\MPnumerator=\count95 +\makeMPintoPDFobject=\count96 +\everyMPtoPDFconversion=\toks17 +) +*geometry* detected driver: dvips +*geometry* verbose mode - [ preamble ] result: +* driver: dvips +* paper: custom +* layout: +* layoutoffset:(h,v)=(0.0pt,0.0pt) +* vratio: 1:1 +* modes: +* h-part:(L,W,R)=(54.2025pt, 325.215pt, 54.2025pt) +* v-part:(T,H,B)=(79.49689pt, 491.43622pt, 79.49689pt) +* \paperwidth=433.62pt +* \paperheight=650.43pt +* \textwidth=325.215pt +* \textheight=491.43622pt +* \oddsidemargin=-18.06749pt +* \evensidemargin=-18.06749pt +* \topmargin=-29.7731pt +* \headheight=12.0pt +* \headsep=25.0pt +* \topskip=11.0pt +* \footskip=30.0pt +* \marginparwidth=59.0pt +* \marginparsep=10.0pt +* \columnsep=10.0pt +* \skip\footins=10.0pt plus 4.0pt minus 2.0pt +* \hoffset=0.0pt +* \voffset=0.0pt +* \mag=1000 +* \@twocolumnfalse +* \@twosidefalse +* \@mparswitchfalse +* \@reversemarginfalse +* (1in=72.27pt=25.4mm, 1cm=28.453pt) + +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 11. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 11. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 11. +(./7.toc +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <10.95> on input line 3. +) +\tf@toc=\write3 +\openout3 = `7.toc'. + + [1 +Non-PDF special ignored! + +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <9> on input line 30. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <5> on input line 30. + +Underfull \hbox (badness 10000) in paragraph at lines 21--36 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 21--36 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 21--36 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 21--36 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 21--36 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 21--36 + + [] + +[2] +LaTeX Font Info: Try loading font information for OMS+cmr on input line 41. + (/usr/share/texlive/texmf-dist/tex/latex/base/omscmr.fd +File: omscmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions +) +LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10.95> not available +(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 41. + [3] [4] [5] +Overfull \hbox (135.30914pt too wide) in paragraph at lines 99--100 +[]\OT1/cmr/m/n/10.95 This means you want a vol-ume some-thing like ./con-tain-e +rA[]files/logs:/var/www/log/apache2/ + [] + + +Overfull \hbox (12.98534pt too wide) in paragraph at lines 109--110 +[]\OT1/cmr/m/n/10.95 web.archive.org/web/https://github.com/moby/moby/issues/43 +61, + [] + +[6] (./7.aux) ) +Here is how much of TeX's memory you used: + 1966 strings out of 494945 + 25858 string characters out of 6181032 + 91869 words of memory out of 5000000 + 5283 multiletter control sequences out of 15000+600000 + 10198 words of font info for 36 fonts, out of 8000000 for 9000 + 14 hyphenation exceptions out of 8191 + 23i,8n,35p,690b,189s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on 7.pdf (6 pages, 126683 bytes). +PDF statistics: + 59 PDF objects out of 1000 (max. 8388607) + 41 compressed objects within 1 object stream + 0 named destinations out of 1000 (max. 500000) + 1 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/2019/Docker_Primer/docs/7.pdf b/2019/Docker_Primer/docs/7.pdf new file mode 100644 index 0000000..65e9f18 Binary files /dev/null and b/2019/Docker_Primer/docs/7.pdf differ diff --git a/2019/Docker_Primer/docs/7.tex b/2019/Docker_Primer/docs/7.tex new file mode 100644 index 0000000..2c3b7f5 --- /dev/null +++ b/2019/Docker_Primer/docs/7.tex @@ -0,0 +1,113 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\usepackage{xcolor} +\usepackage[vcentering,dvips]{geometry} +\geometry{papersize={6in,9in},total={4.5in,6.8in}} +\title{\textbf{Docker Primer}} +\author{Steak Electronics} +\date{08/30/19} +\begin{document} + +\maketitle +\tableofcontents +\textcolor{green!60!blue!70}{ +\section{Overview}} +Docker is a program in the tradition of Virtualization. However, Docker differs from a Virtual Machine, in that it uses less resources, and allows for more containers (essentially isolated OS') to run. With Docker I can run 8 different websites on a Core 2 Duo. Docker makes it trivial to transport these websites to a new machine. It's as simple as copying the docker-compose (you should be using docker compose) yml configuration, and keeping all permenant volumes, and saved files in one folder. Docker is a little more setup upfront, but promises savings in time plus interest down the line. + +\textcolor{green!60!blue!70}{ +\section{General Notes}} +It always helps to read a book on a subject, and then keep it as a Reference. I have read ``Using Docker'' By Adrian Mouat. It is a decent book. Not bad. + +Here are some general tips: +\\ +\\ +First off, Docker is 64 bit only for i386 architecture. ARM has a separate build. There is no 32 bit, unfortunately. +\\ +\\ +You will want 'some' RAM. I had 1GB on a P4 machine, and that was not enough. 4GB was enough. +\\ +\\ +You should always use docker compose. If you read the book above, you will understand why. Docker can run on the command line (commands are somewhat complex for each container), but with a compose file, you can write everything down in a much simpler fashion. Use compose. It's a separate install, currently. Install it.\footnote{Seriously, just ignore the (non-docker compose) docker command lines. I consider them useless. More of a red herring for rookies.} +\\ +\\ +One of the benefits of docker, is its simplicity. There are essentially two commands you will ever need to know to use docker. Both must be run as root. One is \#docker (e.g. docker restart container\_name\_here). The other is docker-compose (e.g. \#docker-compose up -d). +\\ +\\ + +\textcolor{green!60!blue!70}{ +\subsection{Docker Commands Reference}} +Here is just the good stuff. +\begin{itemize} + \item docker-compose up -d (starts the containers in the docker compose file, if they aren't already started. the -d detaches from the stdout logging. You don't need to use stdout logging, you can use docker logs, but its there if you want it) +\item docker ps (lists containers running. If one fails to start, you'll see it missing from here) +\item docker logs (gives you some logging output from the container. Often enough to troubleshoot.) +\item docker exec -it /bin/bash (this will get you in a shell in the docker container. From here you can do what you need to. Most are debian, and need apt-get install less nano or whatever program you are missing. Ping is missing from possibly all containers, so if you want to test via ping, you'll have to apt-get it). + \item docker-compose restart (this will restart all containers. However, I don't recommend it. Initting containers can get corrupted this way, and also its much easier to restart a single faulty container via...) + \item docker restart (this will restart one single container.) + \item docker cp :/dir/to/file dest (you can copy files from local machine to docker, or vice versa with this. Extremely useful). +\end{itemize} +Less often, you might want to know docker kill and docker rmi -f . The first will stop a container, the second will remove an image. If you corrupt the install of a container, the second will save you. The force switch (-f) is required. Alternatively, you can just install a container of the same type with a new container name. \footnote{This is a good way to test that your containers are built in a reproducible way. If you are able to rebuild them by deleting everything, then you likely won't have trouble down the road.} + +\textcolor{green!60!blue!70}{ +\section{Specific Tips}} + +\textcolor{green!60!blue!70}{ +\subsection{YAML is space sensitive}} +When you edit the .yml file for docker-compose, you have to hit spaces in a certain pattern (tabs not allowed). This is absurd, but just be aware. The errors are cryptic, and its often just because the spacing doesn't stick to what it expects. + +\textcolor{green!60!blue!70}{ +\subsection{If you restart a containers namesake process, it will probably restart / reset the container}} +So if you are troubleshooting an apache container, you edit some files, then /etc/init.d/apache2 restart, uh oh... You just undid all the edits you made, if they aren't in a permanent volume. You can shell in, make edits, and then exit the shell, but a service restart often resets the container. + +\textcolor{green!60!blue!70}{ +\subsection{Use a single reverse proxy, to handle multiple websites}} +There are many ways to do this. I use an nginx proxy from scratch. You can also use some containers that are built for this purpose (I personally think it's bloated but a lot of people use Jason Wilder's proxy) +\footnote{https://github.com/jwilder/nginx-proxy - A lot of people swear by this, but I think it's straying too far from the motorcycle.} + +\textcolor{green!60!blue!70}{ +\subsection{If you use a single reverse proxy, Lets Encrypt can be done easy}} +In this case scenario you would have certbot on the host and a local volume that the proxy has access to which is the webroot of the Lets Encrypt scripts. The nginx proxy entry look something like this: +\begin{verbatim} +location ^~ /.well-known { + alias /var/www/html/.well-known/; + autoindex on; + } +\end{verbatim} +And this is put in every server declaration of nginx.conf. Real simple, real easy. The docker compose of the nginx proxy is something like: +\begin{verbatim} +nginx: + image: nginx:latest + container_name: custom_name_for_my_proxy + volumes: + - ./nginx.conf:/etc/nginx/nginx.conf + - /etc/letsencrypt/:/etc/letsencrypt/ + - ./webroot/:/var/www/html/ +\end{verbatim} +The volumes section is extremely simple, don't be scared. There are two entries. Local and remote. You specify what folder will be the local directory which will be cloned to the host at the remote path you specify. So, the host runs certbot at /etc/letsencrypt, and this folder is cloned to the nginx proxy container, at the same location. Finally, webroot must be set in certbot, but it prompts you for this\footnote{And if you forget or get it wrong, it can be configured somewhere in /etc/letsencrypt. it's a one liner text entry).} + + +\textcolor{green!60!blue!70}{ +\subsection{Give every Container a Containername}} +This makes it easier to refer to them later. All you need to do in the compose file is include container\_name: something. Much better than the gibberish they give these names if you don't include it. + +\textcolor{green!60!blue!70}{ +\subsection{Beware of Interrupting Initting Containers}} +When you first build a container, it might take 30-60 or more seconds to do whatever it needs to do. If, before then, you restart it... It may get corrupted. This has happened to me more than once. When you are testing a new container, and it doesn't seem to work for some inexplicable reason, create a container with a new name (it will create a new one), or delete the first one, and start it again. + +\textcolor{green!60!blue!70}{ +\subsection{Put Apache or Program logs from the Container in a volume that is locally accessible}} +This means you want a volume something like ./containerA\_files/logs:/var/www/log/apache2/ so that you can monitor the logs from your host machine easily. docker logs doesn't have everything. + +\textcolor{green!60!blue!70}{ +\subsection{Only Restart Containers you need to Restart}} +You can restart everything with docker-compose restart, but it's faster, and less prone to break initting containers, if you docker restart containername. Do the latter. + +\textcolor{green!60!blue!70}{ +\subsection{Volumes Mounting Over Existing Directories}} +As discussed here: + +web.archive.org/web/https://github.com/moby/moby/issues/4361, if you add a volume to an existing container, it will seem to delete the folder's contents. I've seen mixed behaviour with this. Sometimes it deletes it even if you start a new container with the folder... Other times it has not. In any case, just docker cp the files to the folder, then add the volume mount. + +\end{document} + + diff --git a/2019/Docker_Primer/docs/7.tex~ b/2019/Docker_Primer/docs/7.tex~ new file mode 100644 index 0000000..fa129e9 --- /dev/null +++ b/2019/Docker_Primer/docs/7.tex~ @@ -0,0 +1,111 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\usepackage{xcolor} +\usepackage[vcentering,dvips]{geometry} +\geometry{papersize={6in,9in},total={4.5in,6.8in}} +\title{\textbf{Docker Primer}} +\author{Steak Electronics} +\date{08/30/19} +\begin{document} + +\maketitle +\tableofcontents +\textcolor{green!60!blue!70}{ +\section{Overview}} +Docker is a program in the tradition of Virtualization. However, Docker differs from a Virtual Machine, in that it uses less resources, and allows for more containers (essentially isolated OS') to run. With Docker I can run 8 different websites on a Core 2 Duo. Docker makes it trivial to transport these websites to a new machine. It's as simple as copying the docker-compose (you should be using docker compose) yml configuration, and keeping all permenant volumes, and saved files in one folder. Docker is a little more setup upfront, but promises savings in time plus interest down the line. + +\textcolor{green!60!blue!70}{ +\section{General Notes}} +It always helps to read a book on a subject, and then keep it as a Reference. I have read ``Using Docker'' By Adrian Mouat. It is a decent book. Not bad. + +Here are some general tips: +\\ +\\ +First off, Docker is 64 bit only for i386 architecture. ARM has a separate build. There is no 32 bit, unfortunately. +\\ +\\ +You will want 'some' RAM. I had 1GB on a P4 machine, and that was not enough. 4GB was enough. +\\ +\\ +You should always use docker compose. If you read the book above, you will understand why. Docker can run on the command line (commands are somewhat complex for each container), but with a compose file, you can write everything down in a much simpler fashion. Use compose. It's a separate install, currently. Install it.\footnote{Seriously, just ignore the (non-docker compose) docker command lines. I consider them useless. More of a red herring for rookies.} +\\ +\\ +One of the benefits of docker, is its simplicity. There are essentially two commands you will ever need to know to use docker. Both must be run as root. One is \#docker (e.g. docker restart container\_name\_here). The other is docker-compose (e.g. \#docker-compose up -d). +\\ +\\ + +\textcolor{green!60!blue!70}{ +\subsection{Docker Commands Reference}} +Here is just the good stuff. +\begin{itemize} + \item docker-compose up -d (starts the containers in the docker compose file, if they aren't already started. the -d detaches from the stdout logging. You don't need to use stdout logging, you can use docker logs, but its there if you want it) +\item docker ps (lists containers running. If one fails to start, you'll see it missing from here) +\item docker logs (gives you some logging output from the container. Often enough to troubleshoot.) +\item docker exec -it /bin/bash (this will get you in a shell in the docker container. From here you can do what you need to. Most are debian, and need apt-get install less nano or whatever program you are missing. Ping is missing from possibly all containers, so if you want to test via ping, you'll have to apt-get it). + \item docker-compose restart (this will restart all containers. However, I don't recommend it. Initting containers can get corrupted this way, and also its much easier to restart a single faulty container via...) + \item docker restart (this will restart one single container.) + \item docker cp :/dir/to/file dest (you can copy files from local machine to docker, or vice versa with this. Extremely useful). +\end{itemize} +Less often, you might want to know docker kill and docker rmi -f . The first will stop a container, the second will remove an image. If you corrupt the install of a container, the second will save you. The force switch (-f) is required. Alternatively, you can just install a container of the same type with a new container name. \footnote{This is a good way to test that your containers are built in a reproducible way. If you are able to rebuild them by deleting everything, then you likely won't have trouble down the road.} + +\textcolor{green!60!blue!70}{ +\section{Specific Tips}} + +\textcolor{green!60!blue!70}{ +\subsection{YAML is space sensitive}} +When you edit the .yml file for docker-compose, you have to hit spaces in a certain pattern (tabs not allowed). This is absurd, but just be aware. The errors are cryptic, and its often just because the spacing doesn't stick to what it expects. + +\textcolor{green!60!blue!70}{ +\subsection{If you restart a containers namesake process, it will probably restart / reset the container}} +So if you are troubleshooting an apache container, you edit some files, then /etc/init.d/apache2 restart, uh oh... You just undid all the edits you made, if they aren't in a permanent volume. You can shell in, make edits, and then exit the shell, but a service restart often resets the container. + +\textcolor{green!60!blue!70}{ +\subsection{Use a single reverse proxy, to handle multiple websites}} +There are many ways to do this. I use an nginx proxy from scratch. You can also use some containers that are built for this purpose (I personally think it's bloated but a lot of people use Jason Wilder's proxy) +\footnote{https://github.com/jwilder/nginx-proxy - A lot of people swear by this, but I think it's straying too far from the motorcycle.} + +\textcolor{green!60!blue!70}{ +\subsection{If you use a single reverse proxy, Lets Encrypt can be done easy}} +In this case scenario you would have certbot on the host and a local volume that the proxy has access to which is the webroot of the Lets Encrypt scripts. The nginx proxy entry look something like this: +\begin{verbatim} +location ^~ /.well-known { + alias /var/www/html/.well-known/; + autoindex on; + } +\end{verbatim} +And this is put in every server declaration of nginx.conf. Real simple, real easy. The docker compose of the nginx proxy is something like: +\begin{verbatim} +nginx: + image: nginx:latest + container_name: custom_name_for_my_proxy + volumes: + - ./nginx.conf:/etc/nginx/nginx.conf + - /etc/letsencrypt/:/etc/letsencrypt/ + - ./webroot/:/var/www/html/ +\end{verbatim} +The volumes section is extremely simple, don't be scared. There are two entries. Local and remote. You specify what folder will be the local directory which will be cloned to the host at the remote path you specify. So, the host runs certbot at /etc/letsencrypt, and this folder is cloned to the nginx proxy container, at the same location. Finally, webroot must be set in certbot, but it prompts you for this\footnote{And if you forget or get it wrong, it can be configured somewhere in /etc/letsencrypt. it's a one liner text entry).} + + +\textcolor{green!60!blue!70}{ +\subsection{Give every Container a Containername}} +This makes it easier to refer to them later. All you need to do in the compose file is include container\_name: something. Much better than the gibberish they give these names if you don't include it. + +\textcolor{green!60!blue!70}{ +\subsection{Beware of Interrupting Initting Containers}} +When you first build a container, it might take 30-60 or more seconds to do whatever it needs to do. If, before then, you restart it... It may get corrupted. This has happened to me more than once. When you are testing a new container, and it doesn't seem to work for some inexplicable reason, create a container with a new name (it will create a new one), or delete the first one, and start it again. + +\textcolor{green!60!blue!70}{ +\subsection{Put Apache or Program logs from the Container in a volume that is locally accessible}} +This means you want a volume something like ./containerA\_files/logs:/var/www/log/apache2/ so that you can monitor the logs from your host machine easily. docker logs doesn't have everything. + +\textcolor{green!60!blue!70}{ +\subsection{Only Restart Containers you need to Restart}} +You can restart everything with docker-compose restart, but it's faster, and less prone to break initting containers, if you docker restart containername. Do the latter. + +\textcolor{green!60!blue!70}{ +\subsection{Volumes Mounting Over Existing Directories}} +As discussed here: web.archive.org/web/https://github.com/moby/moby/issues/4361, if you add a volume to an existing container, it will seem to delete the folder's contents. I've seen mixed behaviour with this. Sometimes it deletes it even if you start a new container with the folder... Other times it has not. In any case, just docker cp the files to the folder, then add the volume mount. + +\end{document} + + diff --git a/2019/Docker_Primer/docs/7.toc b/2019/Docker_Primer/docs/7.toc new file mode 100644 index 0000000..d68891f --- /dev/null +++ b/2019/Docker_Primer/docs/7.toc @@ -0,0 +1,13 @@ +\contentsline {section}{\numberline {1}Overview}{1} +\contentsline {section}{\numberline {2}General Notes}{2} +\contentsline {subsection}{\numberline {2.1}Docker Commands Reference}{3} +\contentsline {section}{\numberline {3}Specific Tips}{4} +\contentsline {subsection}{\numberline {3.1}YAML is space sensitive}{4} +\contentsline {subsection}{\numberline {3.2}If you restart a containers namesake process, it will probably restart / reset the container}{4} +\contentsline {subsection}{\numberline {3.3}Use a single reverse proxy, to handle multiple websites}{4} +\contentsline {subsection}{\numberline {3.4}If you use a single reverse proxy, Lets Encrypt can be done easy}{5} +\contentsline {subsection}{\numberline {3.5}Give every Container a Containername}{5} +\contentsline {subsection}{\numberline {3.6}Beware of Interrupting Initting Containers}{6} +\contentsline {subsection}{\numberline {3.7}Put Apache or Program logs from the Container in a volume that is locally accessible}{6} +\contentsline {subsection}{\numberline {3.8}Only Restart Containers you need to Restart}{6} +\contentsline {subsection}{\numberline {3.9}Volumes Mounting Over Existing Directories}{6} diff --git a/2019/Docker_Primer/docs/8.aux b/2019/Docker_Primer/docs/8.aux new file mode 100644 index 0000000..aedbfae --- /dev/null +++ b/2019/Docker_Primer/docs/8.aux @@ -0,0 +1,15 @@ +\relax +\@writefile{toc}{\contentsline {section}{\numberline {1}Overview}{1}} +\@writefile{toc}{\contentsline {section}{\numberline {2}General Notes}{2}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Docker Commands Reference}{3}} +\@writefile{toc}{\contentsline {section}{\numberline {3}Specific Tips}{4}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}YAML is space sensitive}{4}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}If you restart a containers namesake process, it will probably restart / reset the container}{4}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Use a single reverse proxy, to handle multiple websites}{4}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}If you use a single reverse proxy, Lets Encrypt can be done easy}{5}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.5}Give every Container a Containername}{5}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.6}Beware of Interrupting Initting Containers}{6}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.7}Put Apache or Program logs from the Container in a volume that is locally accessible}{6}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.8}Only Restart Containers you need to Restart}{6}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.9}Volumes Mounting Over Existing Directories}{6}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.10}Further Reading}{6}} diff --git a/2019/Docker_Primer/docs/8.log b/2019/Docker_Primer/docs/8.log new file mode 100644 index 0000000..46d28a3 --- /dev/null +++ b/2019/Docker_Primer/docs/8.log @@ -0,0 +1,245 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 15 DEC 2019 20:17 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2019/Docker_Pr +imer/docs/8.tex + +(/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2019/Docker_Pri +mer/docs/8.tex +LaTeX2e <2017/01/01> patch level 3 +Babel <3.9r> and hyphenation patterns for 3 language(s) loaded. +(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls +Document Class: article 2014/09/29 v1.4h Standard LaTeX document class +(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo +File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +(/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty +Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package xcolor Info: Driver file: pdftex.def on input line 225. + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2017/01/12 v0.06k Graphics/color for pdfTeX + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty +Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty +Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) +) +\Gread@gobject=\count87 +) +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. +Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352. +Package xcolor Info: Model `RGB' extended on input line 1364. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. +) +(/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty +Package: geometry 2010/09/12 v5.6 Page Geometry + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks14 +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2016/05/14 v3.1 Provides the ifpdf switch +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty +Package: ifvtex 2016/05/16 v1.6 Detect VTeX and its facilities (HO) +Package ifvtex Info: VTeX not detected. +) +(/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty +Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional +) +\Gm@cnth=\count88 +\Gm@cntv=\count89 +\c@Gm@tempcnt=\count90 +\Gm@bindingoffset=\dimen103 +\Gm@wd@mp=\dimen104 +\Gm@odd@mp=\dimen105 +\Gm@even@mp=\dimen106 +\Gm@layoutwidth=\dimen107 +\Gm@layoutheight=\dimen108 +\Gm@layouthoffset=\dimen109 +\Gm@layoutvoffset=\dimen110 +\Gm@dimlist=\toks15 +) (./8.aux) +\openout1 = `8.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. + +(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count91 +\scratchdimen=\dimen111 +\scratchbox=\box26 +\nofMPsegments=\count92 +\nofMParguments=\count93 +\everyMPshowfont=\toks16 +\MPscratchCnt=\count94 +\MPscratchDim=\dimen112 +\MPnumerator=\count95 +\makeMPintoPDFobject=\count96 +\everyMPtoPDFconversion=\toks17 +) +*geometry* detected driver: dvips +*geometry* verbose mode - [ preamble ] result: +* driver: dvips +* paper: custom +* layout: +* layoutoffset:(h,v)=(0.0pt,0.0pt) +* vratio: 1:1 +* modes: +* h-part:(L,W,R)=(54.2025pt, 325.215pt, 54.2025pt) +* v-part:(T,H,B)=(79.49689pt, 491.43622pt, 79.49689pt) +* \paperwidth=433.62pt +* \paperheight=650.43pt +* \textwidth=325.215pt +* \textheight=491.43622pt +* \oddsidemargin=-18.06749pt +* \evensidemargin=-18.06749pt +* \topmargin=-29.7731pt +* \headheight=12.0pt +* \headsep=25.0pt +* \topskip=11.0pt +* \footskip=30.0pt +* \marginparwidth=59.0pt +* \marginparsep=10.0pt +* \columnsep=10.0pt +* \skip\footins=10.0pt plus 4.0pt minus 2.0pt +* \hoffset=0.0pt +* \voffset=0.0pt +* \mag=1000 +* \@twocolumnfalse +* \@twosidefalse +* \@mparswitchfalse +* \@reversemarginfalse +* (1in=72.27pt=25.4mm, 1cm=28.453pt) + +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 11. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 11. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 11. +(./8.toc +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <10.95> on input line 3. +) +\tf@toc=\write3 +\openout3 = `8.toc'. + + [1 +Non-PDF special ignored! + +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <9> on input line 30. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <5> on input line 30. + +Underfull \hbox (badness 10000) in paragraph at lines 21--36 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 21--36 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 21--36 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 21--36 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 21--36 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 21--36 + + [] + +[2] +LaTeX Font Info: Try loading font information for OMS+cmr on input line 41. + (/usr/share/texlive/texmf-dist/tex/latex/base/omscmr.fd +File: omscmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions +) +LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10.95> not available +(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 41. + [3] [4] [5] +Overfull \hbox (135.30914pt too wide) in paragraph at lines 99--100 +[]\OT1/cmr/m/n/10.95 This means you want a vol-ume some-thing like ./con-tain-e +rA[]files/logs:/var/www/log/apache2/ + [] + + +Overfull \hbox (12.98534pt too wide) in paragraph at lines 109--110 +[]\OT1/cmr/m/n/10.95 web.archive.org/web/https://github.com/moby/moby/issues/43 +61, + [] + +[6] [7] (./8.aux) ) +Here is how much of TeX's memory you used: + 1966 strings out of 494945 + 25858 string characters out of 6181032 + 91869 words of memory out of 5000000 + 5283 multiletter control sequences out of 15000+600000 + 10198 words of font info for 36 fonts, out of 8000000 for 9000 + 14 hyphenation exceptions out of 8191 + 23i,8n,35p,690b,200s stack positions out of 5000i,500n,10000p,200000b,80000s + + +Output written on 8.pdf (7 pages, 127323 bytes). +PDF statistics: + 64 PDF objects out of 1000 (max. 8388607) + 45 compressed objects within 1 object stream + 0 named destinations out of 1000 (max. 500000) + 1 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/2019/Docker_Primer/docs/8.pdf b/2019/Docker_Primer/docs/8.pdf new file mode 100644 index 0000000..8edf8c0 Binary files /dev/null and b/2019/Docker_Primer/docs/8.pdf differ diff --git a/2019/Docker_Primer/docs/8.tex b/2019/Docker_Primer/docs/8.tex new file mode 100644 index 0000000..e68835f --- /dev/null +++ b/2019/Docker_Primer/docs/8.tex @@ -0,0 +1,119 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\usepackage{xcolor} +\usepackage[vcentering,dvips]{geometry} +\geometry{papersize={6in,9in},total={4.5in,6.8in}} +\title{\textbf{Docker Primer}} +\author{Steak Electronics} +\date{08/30/19} +\begin{document} + +\maketitle +\tableofcontents +\textcolor{green!60!blue!70}{ +\section{Overview}} +Docker is a program in the tradition of Virtualization. However, Docker differs from a Virtual Machine, in that it uses less resources, and allows for more containers (essentially isolated OS') to run. With Docker I can run 8 different websites on a Core 2 Duo. Docker makes it trivial to transport these websites to a new machine. It's as simple as copying the docker-compose (you should be using docker compose) yml configuration, and keeping all permenant volumes, and saved files in one folder. Docker is a little more setup upfront, but promises savings in time plus interest down the line. + +\textcolor{green!60!blue!70}{ +\section{General Notes}} +It always helps to read a book on a subject, and then keep it as a Reference. I have read ``Using Docker'' By Adrian Mouat. It is a decent book. Not bad. + +Here are some general tips: +\\ +\\ +First off, Docker is 64 bit only for i386 architecture. ARM has a separate build. There is no 32 bit, unfortunately. +\\ +\\ +You will want 'some' RAM. I had 1GB on a P4 machine, and that was not enough. 4GB was enough. +\\ +\\ +You should always use docker compose. If you read the book above, you will understand why. Docker can run on the command line (commands are somewhat complex for each container), but with a compose file, you can write everything down in a much simpler fashion. Use compose. It's a separate install, currently. Install it.\footnote{Seriously, just ignore the (non-docker compose) docker command lines. I consider them useless. More of a red herring for rookies.} +\\ +\\ +One of the benefits of docker, is its simplicity. There are essentially two commands you will ever need to know to use docker. Both must be run as root. One is \#docker (e.g. docker restart container\_name\_here). The other is docker-compose (e.g. \#docker-compose up -d). +\\ +\\ + +\textcolor{green!60!blue!70}{ +\subsection{Docker Commands Reference}} +Here is just the good stuff. +\begin{itemize} + \item docker-compose up -d (starts the containers in the docker compose file, if they aren't already started. the -d detaches from the stdout logging. You don't need to use stdout logging, you can use docker logs, but its there if you want it) +\item docker ps (lists containers running. If one fails to start, you'll see it missing from here) +\item docker logs (gives you some logging output from the container. Often enough to troubleshoot.) +\item docker exec -it /bin/bash (this will get you in a shell in the docker container. From here you can do what you need to. Most are debian, and need apt-get install less nano or whatever program you are missing. Ping is missing from possibly all containers, so if you want to test via ping, you'll have to apt-get it). + \item docker-compose restart (this will restart all containers. However, I don't recommend it. Initting containers can get corrupted this way, and also its much easier to restart a single faulty container via...) + \item docker restart (this will restart one single container.) + \item docker cp :/dir/to/file dest (you can copy files from local machine to docker, or vice versa with this. Extremely useful). +\end{itemize} +Less often, you might want to know docker kill and docker rmi -f . The first will stop a container, the second will remove an image. If you corrupt the install of a container, the second will save you. The force switch (-f) is required. Alternatively, you can just install a container of the same type with a new container name. \footnote{This is a good way to test that your containers are built in a reproducible way. If you are able to rebuild them by deleting everything, then you likely won't have trouble down the road.} + +\textcolor{green!60!blue!70}{ +\section{Specific Tips}} + +\textcolor{green!60!blue!70}{ +\subsection{YAML is space sensitive}} +When you edit the .yml file for docker-compose, you have to hit spaces in a certain pattern (tabs not allowed). This is absurd, but just be aware. The errors are cryptic, and its often just because the spacing doesn't stick to what it expects. + +\textcolor{green!60!blue!70}{ +\subsection{If you restart a containers namesake process, it will probably restart / reset the container}} +So if you are troubleshooting an apache container, you edit some files, then /etc/init.d/apache2 restart, uh oh... You just undid all the edits you made, if they aren't in a permanent volume. You can shell in, make edits, and then exit the shell, but a service restart often resets the container. + +\textcolor{green!60!blue!70}{ +\subsection{Use a single reverse proxy, to handle multiple websites}} +There are many ways to do this. I use an nginx proxy from scratch. You can also use some containers that are built for this purpose (I personally think it's bloated but a lot of people use Jason Wilder's proxy) +\footnote{https://github.com/jwilder/nginx-proxy - A lot of people swear by this, but I think it's straying too far from the motorcycle.} + +\textcolor{green!60!blue!70}{ +\subsection{If you use a single reverse proxy, Lets Encrypt can be done easy}} +In this case scenario you would have certbot on the host and a local volume that the proxy has access to which is the webroot of the Lets Encrypt scripts. The nginx proxy entry look something like this: +\begin{verbatim} +location ^~ /.well-known { + alias /var/www/html/.well-known/; + autoindex on; + } +\end{verbatim} +And this is put in every server declaration of nginx.conf. Real simple, real easy. The docker compose of the nginx proxy is something like: +\begin{verbatim} +nginx: + image: nginx:latest + container_name: custom_name_for_my_proxy + volumes: + - ./nginx.conf:/etc/nginx/nginx.conf + - /etc/letsencrypt/:/etc/letsencrypt/ + - ./webroot/:/var/www/html/ +\end{verbatim} +The volumes section is extremely simple, don't be scared. There are two entries. Local and remote. You specify what folder will be the local directory which will be cloned to the host at the remote path you specify. So, the host runs certbot at /etc/letsencrypt, and this folder is cloned to the nginx proxy container, at the same location. Finally, webroot must be set in certbot, but it prompts you for this\footnote{And if you forget or get it wrong, it can be configured somewhere in /etc/letsencrypt. it's a one liner text entry).} + + +\textcolor{green!60!blue!70}{ +\subsection{Give every Container a Containername}} +This makes it easier to refer to them later. All you need to do in the compose file is include container\_name: something. Much better than the gibberish they give these names if you don't include it. + +\textcolor{green!60!blue!70}{ +\subsection{Beware of Interrupting Initting Containers}} +When you first build a container, it might take 30-60 or more seconds to do whatever it needs to do. If, before then, you restart it... It may get corrupted. This has happened to me more than once. When you are testing a new container, and it doesn't seem to work for some inexplicable reason, create a container with a new name (it will create a new one), or delete the first one, and start it again. + +\textcolor{green!60!blue!70}{ +\subsection{Put Apache or Program logs from the Container in a volume that is locally accessible}} +This means you want a volume something like ./containerA\_files/logs:/var/www/log/apache2/ so that you can monitor the logs from your host machine easily. docker logs doesn't have everything. + +\textcolor{green!60!blue!70}{ +\subsection{Only Restart Containers you need to Restart}} +You can restart everything with docker-compose restart, but it's faster, and less prone to break initting containers, if you docker restart containername. Do the latter. + +\textcolor{green!60!blue!70}{ +\subsection{Volumes Mounting Over Existing Directories}} +As discussed here: + +web.archive.org/web/https://github.com/moby/moby/issues/4361, if you add a volume to an existing container, it will seem to delete the folder's contents. I've seen mixed behaviour with this. Sometimes it deletes it even if you start a new container with the folder... Other times it has not. In any case, just docker cp the files to the folder, then add the volume mount. + +\textcolor{green!60!blue!70}{ + \subsection{Further Reading}} +https://steakwiki.com/Docker + +hosts my current docker notes. + +\end{document} + + diff --git a/2019/Docker_Primer/docs/8.tex~ b/2019/Docker_Primer/docs/8.tex~ new file mode 100644 index 0000000..2c3b7f5 --- /dev/null +++ b/2019/Docker_Primer/docs/8.tex~ @@ -0,0 +1,113 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\usepackage{xcolor} +\usepackage[vcentering,dvips]{geometry} +\geometry{papersize={6in,9in},total={4.5in,6.8in}} +\title{\textbf{Docker Primer}} +\author{Steak Electronics} +\date{08/30/19} +\begin{document} + +\maketitle +\tableofcontents +\textcolor{green!60!blue!70}{ +\section{Overview}} +Docker is a program in the tradition of Virtualization. However, Docker differs from a Virtual Machine, in that it uses less resources, and allows for more containers (essentially isolated OS') to run. With Docker I can run 8 different websites on a Core 2 Duo. Docker makes it trivial to transport these websites to a new machine. It's as simple as copying the docker-compose (you should be using docker compose) yml configuration, and keeping all permenant volumes, and saved files in one folder. Docker is a little more setup upfront, but promises savings in time plus interest down the line. + +\textcolor{green!60!blue!70}{ +\section{General Notes}} +It always helps to read a book on a subject, and then keep it as a Reference. I have read ``Using Docker'' By Adrian Mouat. It is a decent book. Not bad. + +Here are some general tips: +\\ +\\ +First off, Docker is 64 bit only for i386 architecture. ARM has a separate build. There is no 32 bit, unfortunately. +\\ +\\ +You will want 'some' RAM. I had 1GB on a P4 machine, and that was not enough. 4GB was enough. +\\ +\\ +You should always use docker compose. If you read the book above, you will understand why. Docker can run on the command line (commands are somewhat complex for each container), but with a compose file, you can write everything down in a much simpler fashion. Use compose. It's a separate install, currently. Install it.\footnote{Seriously, just ignore the (non-docker compose) docker command lines. I consider them useless. More of a red herring for rookies.} +\\ +\\ +One of the benefits of docker, is its simplicity. There are essentially two commands you will ever need to know to use docker. Both must be run as root. One is \#docker (e.g. docker restart container\_name\_here). The other is docker-compose (e.g. \#docker-compose up -d). +\\ +\\ + +\textcolor{green!60!blue!70}{ +\subsection{Docker Commands Reference}} +Here is just the good stuff. +\begin{itemize} + \item docker-compose up -d (starts the containers in the docker compose file, if they aren't already started. the -d detaches from the stdout logging. You don't need to use stdout logging, you can use docker logs, but its there if you want it) +\item docker ps (lists containers running. If one fails to start, you'll see it missing from here) +\item docker logs (gives you some logging output from the container. Often enough to troubleshoot.) +\item docker exec -it /bin/bash (this will get you in a shell in the docker container. From here you can do what you need to. Most are debian, and need apt-get install less nano or whatever program you are missing. Ping is missing from possibly all containers, so if you want to test via ping, you'll have to apt-get it). + \item docker-compose restart (this will restart all containers. However, I don't recommend it. Initting containers can get corrupted this way, and also its much easier to restart a single faulty container via...) + \item docker restart (this will restart one single container.) + \item docker cp :/dir/to/file dest (you can copy files from local machine to docker, or vice versa with this. Extremely useful). +\end{itemize} +Less often, you might want to know docker kill and docker rmi -f . The first will stop a container, the second will remove an image. If you corrupt the install of a container, the second will save you. The force switch (-f) is required. Alternatively, you can just install a container of the same type with a new container name. \footnote{This is a good way to test that your containers are built in a reproducible way. If you are able to rebuild them by deleting everything, then you likely won't have trouble down the road.} + +\textcolor{green!60!blue!70}{ +\section{Specific Tips}} + +\textcolor{green!60!blue!70}{ +\subsection{YAML is space sensitive}} +When you edit the .yml file for docker-compose, you have to hit spaces in a certain pattern (tabs not allowed). This is absurd, but just be aware. The errors are cryptic, and its often just because the spacing doesn't stick to what it expects. + +\textcolor{green!60!blue!70}{ +\subsection{If you restart a containers namesake process, it will probably restart / reset the container}} +So if you are troubleshooting an apache container, you edit some files, then /etc/init.d/apache2 restart, uh oh... You just undid all the edits you made, if they aren't in a permanent volume. You can shell in, make edits, and then exit the shell, but a service restart often resets the container. + +\textcolor{green!60!blue!70}{ +\subsection{Use a single reverse proxy, to handle multiple websites}} +There are many ways to do this. I use an nginx proxy from scratch. You can also use some containers that are built for this purpose (I personally think it's bloated but a lot of people use Jason Wilder's proxy) +\footnote{https://github.com/jwilder/nginx-proxy - A lot of people swear by this, but I think it's straying too far from the motorcycle.} + +\textcolor{green!60!blue!70}{ +\subsection{If you use a single reverse proxy, Lets Encrypt can be done easy}} +In this case scenario you would have certbot on the host and a local volume that the proxy has access to which is the webroot of the Lets Encrypt scripts. The nginx proxy entry look something like this: +\begin{verbatim} +location ^~ /.well-known { + alias /var/www/html/.well-known/; + autoindex on; + } +\end{verbatim} +And this is put in every server declaration of nginx.conf. Real simple, real easy. The docker compose of the nginx proxy is something like: +\begin{verbatim} +nginx: + image: nginx:latest + container_name: custom_name_for_my_proxy + volumes: + - ./nginx.conf:/etc/nginx/nginx.conf + - /etc/letsencrypt/:/etc/letsencrypt/ + - ./webroot/:/var/www/html/ +\end{verbatim} +The volumes section is extremely simple, don't be scared. There are two entries. Local and remote. You specify what folder will be the local directory which will be cloned to the host at the remote path you specify. So, the host runs certbot at /etc/letsencrypt, and this folder is cloned to the nginx proxy container, at the same location. Finally, webroot must be set in certbot, but it prompts you for this\footnote{And if you forget or get it wrong, it can be configured somewhere in /etc/letsencrypt. it's a one liner text entry).} + + +\textcolor{green!60!blue!70}{ +\subsection{Give every Container a Containername}} +This makes it easier to refer to them later. All you need to do in the compose file is include container\_name: something. Much better than the gibberish they give these names if you don't include it. + +\textcolor{green!60!blue!70}{ +\subsection{Beware of Interrupting Initting Containers}} +When you first build a container, it might take 30-60 or more seconds to do whatever it needs to do. If, before then, you restart it... It may get corrupted. This has happened to me more than once. When you are testing a new container, and it doesn't seem to work for some inexplicable reason, create a container with a new name (it will create a new one), or delete the first one, and start it again. + +\textcolor{green!60!blue!70}{ +\subsection{Put Apache or Program logs from the Container in a volume that is locally accessible}} +This means you want a volume something like ./containerA\_files/logs:/var/www/log/apache2/ so that you can monitor the logs from your host machine easily. docker logs doesn't have everything. + +\textcolor{green!60!blue!70}{ +\subsection{Only Restart Containers you need to Restart}} +You can restart everything with docker-compose restart, but it's faster, and less prone to break initting containers, if you docker restart containername. Do the latter. + +\textcolor{green!60!blue!70}{ +\subsection{Volumes Mounting Over Existing Directories}} +As discussed here: + +web.archive.org/web/https://github.com/moby/moby/issues/4361, if you add a volume to an existing container, it will seem to delete the folder's contents. I've seen mixed behaviour with this. Sometimes it deletes it even if you start a new container with the folder... Other times it has not. In any case, just docker cp the files to the folder, then add the volume mount. + +\end{document} + + diff --git a/2019/Docker_Primer/docs/8.toc b/2019/Docker_Primer/docs/8.toc new file mode 100644 index 0000000..35b8fc4 --- /dev/null +++ b/2019/Docker_Primer/docs/8.toc @@ -0,0 +1,14 @@ +\contentsline {section}{\numberline {1}Overview}{1} +\contentsline {section}{\numberline {2}General Notes}{2} +\contentsline {subsection}{\numberline {2.1}Docker Commands Reference}{3} +\contentsline {section}{\numberline {3}Specific Tips}{4} +\contentsline {subsection}{\numberline {3.1}YAML is space sensitive}{4} +\contentsline {subsection}{\numberline {3.2}If you restart a containers namesake process, it will probably restart / reset the container}{4} +\contentsline {subsection}{\numberline {3.3}Use a single reverse proxy, to handle multiple websites}{4} +\contentsline {subsection}{\numberline {3.4}If you use a single reverse proxy, Lets Encrypt can be done easy}{5} +\contentsline {subsection}{\numberline {3.5}Give every Container a Containername}{5} +\contentsline {subsection}{\numberline {3.6}Beware of Interrupting Initting Containers}{6} +\contentsline {subsection}{\numberline {3.7}Put Apache or Program logs from the Container in a volume that is locally accessible}{6} +\contentsline {subsection}{\numberline {3.8}Only Restart Containers you need to Restart}{6} +\contentsline {subsection}{\numberline {3.9}Volumes Mounting Over Existing Directories}{6} +\contentsline {subsection}{\numberline {3.10}Further Reading}{6} diff --git a/2019/Docker_Primer/docs/fin.pdf b/2019/Docker_Primer/docs/fin.pdf new file mode 100644 index 0000000..8edf8c0 Binary files /dev/null and b/2019/Docker_Primer/docs/fin.pdf differ diff --git a/2019/Fail2Ban_Primer/docs/6.log b/2019/Fail2Ban_Primer/docs/6.log index d210f96..2a72ada 100644 --- a/2019/Fail2Ban_Primer/docs/6.log +++ b/2019/Fail2Ban_Primer/docs/6.log @@ -1,4 +1,4 @@ -This is pdfTeX, Version 3.14159265-2.6-1.40.15 (TeX Live 2015/dev/Debian) (preloaded format=pdflatex 2018.11.28) 29 MAY 2019 01:37 +This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 20 DEC 2019 17:10 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -7,8 +7,8 @@ Primer/docs/6.tex (/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2019/Fail2Ban_P rimer/docs/6.tex -LaTeX2e <2014/05/01> -Babel <3.9l> and hyphenation patterns for 2 languages loaded. +LaTeX2e <2017/01/01> patch level 3 +Babel <3.9r> and hyphenation patterns for 3 language(s) loaded. (/usr/share/texlive/texmf-dist/tex/latex/base/article.cls Document Class: article 2014/09/29 v1.4h Standard LaTeX document class (/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo @@ -156,10 +156,10 @@ ban-so-thats- [6] (./6.aux) ) Here is how much of TeX's memory you used: - 261 strings out of 495020 - 3142 string characters out of 6181323 - 50970 words of memory out of 5000000 - 3542 multiletter control sequences out of 15000+600000 + 261 strings out of 494945 + 3135 string characters out of 6181032 + 51564 words of memory out of 5000000 + 3622 multiletter control sequences out of 15000+600000 8977 words of font info for 32 fonts, out of 8000000 for 9000 14 hyphenation exceptions out of 8191 23i,8n,19p,591b,241s stack positions out of 5000i,500n,10000p,200000b,80000s @@ -171,7 +171,7 @@ texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr8.pfb> -Output written on 6.pdf (6 pages, 115833 bytes). +Output written on 6.pdf (6 pages, 116067 bytes). PDF statistics: 55 PDF objects out of 1000 (max. 8388607) 38 compressed objects within 1 object stream diff --git a/2019/Fail2Ban_Primer/docs/6.pdf b/2019/Fail2Ban_Primer/docs/6.pdf index a875fbd..9a1b838 100644 Binary files a/2019/Fail2Ban_Primer/docs/6.pdf and b/2019/Fail2Ban_Primer/docs/6.pdf differ diff --git a/2019/Fail2Ban_Primer/docs/7.aux b/2019/Fail2Ban_Primer/docs/7.aux new file mode 100644 index 0000000..88f561a --- /dev/null +++ b/2019/Fail2Ban_Primer/docs/7.aux @@ -0,0 +1,6 @@ +\relax +\@writefile{toc}{\contentsline {section}{\numberline {1}Overview}{1}} +\@writefile{toc}{\contentsline {section}{\numberline {2}Instructions for Setup}{1}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Getting auth.log to appear in Gentoo}{3}} +\@writefile{toc}{\contentsline {section}{\numberline {3}Future Advancements}{6}} +\@writefile{toc}{\contentsline {section}{\numberline {4}Further Reading}{6}} diff --git a/2019/Fail2Ban_Primer/docs/7.log b/2019/Fail2Ban_Primer/docs/7.log new file mode 100644 index 0000000..e006d93 --- /dev/null +++ b/2019/Fail2Ban_Primer/docs/7.log @@ -0,0 +1,359 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 20 DEC 2019 17:11 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2019/Fail2Ban_ +Primer/docs/7.tex + +(/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2019/Fail2Ban_P +rimer/docs/7.tex +LaTeX2e <2017/01/01> patch level 3 +Babel <3.9r> and hyphenation patterns for 3 language(s) loaded. +(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls +Document Class: article 2014/09/29 v1.4h Standard LaTeX document class +(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo +File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +(/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty +Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package xcolor Info: Driver file: pdftex.def on input line 225. + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2017/01/12 v0.06k Graphics/color for pdfTeX + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty +Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty +Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) +) +\Gread@gobject=\count87 +) +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. +Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352. +Package xcolor Info: Model `RGB' extended on input line 1364. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. +) +(/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty +Package: geometry 2010/09/12 v5.6 Page Geometry + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks14 +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2016/05/14 v3.1 Provides the ifpdf switch +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty +Package: ifvtex 2016/05/16 v1.6 Detect VTeX and its facilities (HO) +Package ifvtex Info: VTeX not detected. +) +(/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty +Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional +) +\Gm@cnth=\count88 +\Gm@cntv=\count89 +\c@Gm@tempcnt=\count90 +\Gm@bindingoffset=\dimen103 +\Gm@wd@mp=\dimen104 +\Gm@odd@mp=\dimen105 +\Gm@even@mp=\dimen106 +\Gm@layoutwidth=\dimen107 +\Gm@layoutheight=\dimen108 +\Gm@layouthoffset=\dimen109 +\Gm@layoutvoffset=\dimen110 +\Gm@dimlist=\toks15 +) +No file 7.aux. +\openout1 = `7.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count91 +\scratchdimen=\dimen111 +\scratchbox=\box26 +\nofMPsegments=\count92 +\nofMParguments=\count93 +\everyMPshowfont=\toks16 +\MPscratchCnt=\count94 +\MPscratchDim=\dimen112 +\MPnumerator=\count95 +\makeMPintoPDFobject=\count96 +\everyMPtoPDFconversion=\toks17 +) +*geometry* detected driver: dvips +*geometry* verbose mode - [ preamble ] result: +* driver: dvips +* paper: custom +* layout: +* layoutoffset:(h,v)=(0.0pt,0.0pt) +* vratio: 1:1 +* modes: +* h-part:(L,W,R)=(54.2025pt, 325.215pt, 54.2025pt) +* v-part:(T,H,B)=(79.49689pt, 491.43622pt, 79.49689pt) +* \paperwidth=433.62pt +* \paperheight=650.43pt +* \textwidth=325.215pt +* \textheight=491.43622pt +* \oddsidemargin=-18.06749pt +* \evensidemargin=-18.06749pt +* \topmargin=-29.7731pt +* \headheight=12.0pt +* \headsep=25.0pt +* \topskip=11.0pt +* \footskip=30.0pt +* \marginparwidth=59.0pt +* \marginparsep=10.0pt +* \columnsep=10.0pt +* \skip\footins=10.0pt plus 4.0pt minus 2.0pt +* \hoffset=0.0pt +* \voffset=0.0pt +* \mag=1000 +* \@twocolumnfalse +* \@twosidefalse +* \@mparswitchfalse +* \@reversemarginfalse +* (1in=72.27pt=25.4mm, 1cm=28.453pt) + +No file 7.toc. +\tf@toc=\write3 +\openout3 = `7.toc'. + +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <10.95> on input line 17. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 17. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 17. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <9> on input line 17. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <5> on input line 17. +LaTeX Font Info: Try loading font information for OMS+cmr on input line 27. +(/usr/share/texlive/texmf-dist/tex/latex/base/omscmr.fd +File: omscmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions +) +LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10.95> not available +(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 27. + +Overfull \hbox (2.43376pt too wide) in paragraph at lines 26--30 +\OT1/cmr/m/n/10.95 ond, nav-i-gate to /etc/fail2ban/jail.d/ Add the fol-low-ing + to a sshd.conf + [] + + +Overfull \hbox (100.1879pt too wide) in paragraph at lines 44--44 +[]\OT1/cmtt/m/n/10.95 # this is used in devuan. no other changes are made to ot +her files, except[] + [] + + +Overfull \hbox (65.69577pt too wide) in paragraph at lines 44--44 +[]\OT1/cmtt/m/n/10.95 # that the default ssh filter is disabled in jail.conf if + it enabled[] + [] + +[1 +Non-PDF special ignored! + +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] +Overfull \hbox (1.85292pt too wide) in paragraph at lines 49--50 +[]\OT1/cmr/m/n/10.95 First, ac-tion can be ipt-a-bles for a sin-gle port, or ip +tables-multiport + [] + + +Overfull \hbox (3.43622pt too wide) in paragraph at lines 61--62 +\OT1/cmr/m/n/10.95 For those un-fa-mil-iar with the dif-fer-ence be-tween RE-JE +CT and DROP, + [] + + +Overfull \hbox (48.8393pt too wide) in paragraph at lines 63--64 +[]\OT1/cmr/bx/n/10.95 To con-fig-ure it, see /etc/fail2ban/actions.d/iptables-c +ommon.conf + [] + +[2] +Overfull \hbox (7.3905pt too wide) in paragraph at lines 76--76 +[][]\OT1/cmr/m/n/9 Reference: https://wiki.gentoo.org/wiki/Security[]Handbook/L +ogging#Syslog- + [] + + +Overfull \hbox (2.4602pt too wide) in paragraph at lines 171--171 +[]\OT1/cmtt/m/n/10.95 @version: 3.17 #mandatory since Version 3, specify +[] + [] + + +Overfull \hbox (42.70102pt too wide) in paragraph at lines 171--171 +[] \OT1/cmtt/m/n/10.95 # The default action of syslog-ng is to log a STA +TS line[] + [] + + +Overfull \hbox (100.1879pt too wide) in paragraph at lines 171--171 +[] \OT1/cmtt/m/n/10.95 # to the file every 10 minutes. That's pretty ug +ly after a while.[] + [] + + +Overfull \hbox (82.94183pt too wide) in paragraph at lines 171--171 +[] \OT1/cmtt/m/n/10.95 # Change it to every 12 hours so you get a nice d +aily update of[] + [] + +[3] +Overfull \hbox (8.2089pt too wide) in paragraph at lines 171--171 +[]\OT1/cmtt/m/n/10.95 destination newscrit { file("/var/log/news/news.crit"); } +;[] + [] + + +Overfull \hbox (31.20364pt too wide) in paragraph at lines 171--171 +[]\OT1/cmtt/m/n/10.95 destination newsnotice { file("/var/log/news/news.notice" +); };[] + [] + + +Overfull \hbox (48.4497pt too wide) in paragraph at lines 171--171 +[]\OT1/cmtt/m/n/10.95 # ...if you intend to use /dev/console for programs like +xconsole[] + [] + +[4] +Overfull \hbox (105.93658pt too wide) in paragraph at lines 171--171 +[]\OT1/cmtt/m/n/10.95 # you can comment out the destination line above that ref +erences /dev/tty12[] + [] + + +Overfull \hbox (25.45496pt too wide) in paragraph at lines 171--171 +[]\OT1/cmtt/m/n/10.95 filter f_debug { not facility(auth, authpriv, news, mail) +; };[] + [] + + +Overfull \hbox (36.95233pt too wide) in paragraph at lines 171--171 +[]\OT1/cmtt/m/n/10.95 log { source(src); filter(f_authpriv); destination(authlo +g); };[] + [] + + +Overfull \hbox (19.70627pt too wide) in paragraph at lines 171--171 +[]\OT1/cmtt/m/n/10.95 log { source(src); filter(f_syslog); destination(syslog); + };[] + [] + + +Overfull \hbox (19.70627pt too wide) in paragraph at lines 171--171 +[]\OT1/cmtt/m/n/10.95 log { source(src); filter(f_daemon); destination(daemon); + };[] + [] + + +Overfull \hbox (19.70627pt too wide) in paragraph at lines 171--171 +[]\OT1/cmtt/m/n/10.95 log { source(kernsrc); filter(f_kern); destination(kern); + };[] + [] + + +Overfull \hbox (111.68527pt too wide) in paragraph at lines 171--171 +[]\OT1/cmtt/m/n/10.95 log { source(src); filter(f_mail); filter(f_info); destin +ation(mailinfo); };[] + [] + +[5] +Overfull \hbox (111.68527pt too wide) in paragraph at lines 171--171 +[]\OT1/cmtt/m/n/10.95 log { source(src); filter(f_mail); filter(f_warn); destin +ation(mailwarn); };[] + [] + + +Overfull \hbox (100.1879pt too wide) in paragraph at lines 171--171 +[]\OT1/cmtt/m/n/10.95 log { source(src); filter(f_mail); filter(f_err); destina +tion(mailerr); };[] + [] + + +Overfull \hbox (8.2089pt too wide) in paragraph at lines 171--171 +[]\OT1/cmtt/m/n/10.95 log { source(src); filter(f_debug); destination(debug); } +;[] + [] + + +Overfull \hbox (42.70102pt too wide) in paragraph at lines 171--171 +[]\OT1/cmtt/m/n/10.95 log { source(src); filter(f_messages); destination(messag +es); };[] + [] + + +Overfull \hbox (42.70102pt too wide) in paragraph at lines 171--171 +[]\OT1/cmtt/m/n/10.95 log { source(src); filter(f_emergency); destination(conso +le); };[] + [] + + +Overfull \hbox (1.21407pt too wide) in paragraph at lines 183--184 +[]\OT1/cmr/m/n/10.95 https://www.jwz.org/blog/2019/03/apache-2-4-1-killed-fail2 +ban- + [] + +[6] (./7.aux) ) +Here is how much of TeX's memory you used: + 1956 strings out of 494945 + 25770 string characters out of 6181032 + 91871 words of memory out of 5000000 + 5279 multiletter control sequences out of 15000+600000 + 8977 words of font info for 32 fonts, out of 8000000 for 9000 + 14 hyphenation exceptions out of 8191 + 24i,8n,35p,591b,250s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on 7.pdf (6 pages, 113538 bytes). +PDF statistics: + 55 PDF objects out of 1000 (max. 8388607) + 38 compressed objects within 1 object stream + 0 named destinations out of 1000 (max. 500000) + 1 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/2019/Fail2Ban_Primer/docs/7.pdf b/2019/Fail2Ban_Primer/docs/7.pdf new file mode 100644 index 0000000..44ebb46 Binary files /dev/null and b/2019/Fail2Ban_Primer/docs/7.pdf differ diff --git a/2019/Fail2Ban_Primer/docs/7.tex b/2019/Fail2Ban_Primer/docs/7.tex new file mode 100644 index 0000000..db0367f --- /dev/null +++ b/2019/Fail2Ban_Primer/docs/7.tex @@ -0,0 +1,192 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\usepackage{xcolor} +\usepackage[vcentering,dvips]{geometry} +\geometry{papersize={6in,9in},total={4.5in,6.8in}} +\title{\textbf{Fail2ban Primer}} +\author{Steak Electronics} +\date{05/29/19} +\begin{document} + +\textbf{Fail2ban Primer} + +%maketitle +\tableofcontents +\textcolor{green!60!blue!70}{ +\section{Overview}} +Fail2Ban is a firewall adjunct, a spiritual successor to denyhosts\footnote{denyhosts was used for ssh, but eventually was abandoned. It was quite a bit simpler to configure than fail2ban, and this was its strength, but it is also more limited, and now has vulnerabilities.}, which is used to block ip addresses that try to break into your internet server. + +Here are some of the traps, and configurations I've needed to setup fail2ban correctly. It's not a complex program, but unless you sit down and understand it, you might get caught. To be honest, it took me some time to figure out fail2ban, as I initially didn't have the patience to sit down and configure it. + +\textcolor{green!60!blue!70}{ +\section{Instructions for Setup}} +Quick setup for Devuan / Debian 9: +First install fail2ban using apt-get. (apt-get install fail2ban). + +Fail2ban is a service that will appear in /etc/init.d/ in Devuan. +So it can be managed with service fail2ban \{start,stop,restart\}. +Second, navigate to /etc/fail2ban/jail.d/ +Add the following to a sshd.conf file (or name it anything you like) + +\begin{verbatim} +# this is used in devuan. no other changes are made to other files, except +# that the default ssh filter is disabled in jail.conf if it enabled + +[sshd] +ignoreip = 127.0.0.1/8 +action = iptables-allports +maxretry = 6 +enabled = true +filter = sshd +logpath = /var/log/auth.log +bantime = 360000 +findtime = 3600 +\end{verbatim} +Now, a few notes on this file. + +\vspace{0.2in} + +First, action can be iptables for a single port, or iptables-multiport for more than one, but we are using iptables-allports, as we want to block everything. These actions are listed in /etc/fail2ban/actions.d/ + +\vspace{0.2in} + +Second, logpath, should point to your ssh log. In devuan ascii / debian stretch (9) it should be /var/log/auth.log. Other distributions may vary. The format of the ssh log can vary as well. In this guide, it's assumed to be auth.log. Gentoo users see below to enable auth.log in syslog-ng. + +\vspace{0.2in} + +Third, be careful of different ssh ports. I routinely change ssh ports to be a non standard port, which although it's somewhat pointless, it still seems to block random ssh port scans for port 22. If you use a different port, you must specify it in iptables-multiport above. A potential trap is to use a nonstandard port, then wonder why fail2ban blocks port 22, but your ssh is on port 123 or something. An agressive and easier approach is to just block everything. + +\vspace{0.2in} + +Fourth, the default action in iptables-common \footnote{this parent file in actions.d applies to all child iptables of course, being named ``common''} is to REJECT packets. However, I have changed it to DROP (blocktype=DROP). For those unfamiliar with the difference between REJECT and DROP, from my understanding, it is that REJECT will alert the outside host that the post is unreachable, while DROP simply goes silent, leaving the other host to figure it out on their own. + +\textbf{To configure it, see /etc/fail2ban/actions.d/iptables-common.conf and search for blocktype.} + +As I consider the offending ip addresses to be attackers, I have set it to DROP. If they try to break into the server, then block all ports from them, and don't tell them anything. The DROP timeout is more work on their end. With REJECT, my server responds. No need to play nice, with people/robots that have no morals. + +On fail2ban issues git tracker, there is some discussion about this, and it is not really definitive. It ends up being that, REJECT is default, and if you want you can change it to DROP. As I have. As long as the option is there, I think that is acceptable. + +\vspace{0.2in} + +Fifth, review jail.conf, and fail2ban.conf. Usually nothing needs to be changed, but occasionally jail.conf will enable the default sshd jail (which you can disable, and use instead the new one). This will be distribution dependent. + +\textcolor{green!60!blue!70}{ +\subsection{Getting auth.log to appear in Gentoo}} +This guide will only cover those working with syslog-ng in Gentoo. You can add a config to syslog-ng to get auth.log to appear in Gentoo. +\footnote{Reference: https://wiki.gentoo.org/wiki/Security\_Handbook/Logging\#Syslog-ng} Notice in the below config, that a destination has been defined for authlog. You need not copy all the syslog-ng below, only what you need. +\begin{verbatim} +/etc/syslog-ng/syslog-ng.confSyslog-ng + +@version: 3.17 #mandatory since Version 3, specify + the version number of the used syslog-ng + +options { + chain_hostnames(no); + + # The default action of syslog-ng is to log a STATS line + # to the file every 10 minutes. That's pretty ugly after a while. + # Change it to every 12 hours so you get a nice daily update of + # how many messages syslog-ng missed (0). + stats_freq(43200); +}; + +source src { + unix-stream("/dev/log" max-connections(256)); + internal(); +}; + +source kernsrc { file("/proc/kmsg"); }; + +# define destinations +destination authlog { file("/var/log/auth.log"); }; +destination syslog { file("/var/log/syslog"); }; +destination cron { file("/var/log/cron.log"); }; +destination daemon { file("/var/log/daemon.log"); }; +destination kern { file("/var/log/kern.log"); }; +destination lpr { file("/var/log/lpr.log"); }; +destination user { file("/var/log/user.log"); }; +destination mail { file("/var/log/mail.log"); }; + +destination mailinfo { file("/var/log/mail.info"); }; +destination mailwarn { file("/var/log/mail.warn"); }; +destination mailerr { file("/var/log/mail.err"); }; + +destination newscrit { file("/var/log/news/news.crit"); }; +destination newserr { file("/var/log/news/news.err"); }; +destination newsnotice { file("/var/log/news/news.notice"); }; + +destination debug { file("/var/log/debug"); }; +destination messages { file("/var/log/messages"); }; +destination console { usertty("root"); }; + +# By default messages are logged to tty12... +destination console_all { file("/dev/tty12"); }; + +# ...if you intend to use /dev/console for programs like xconsole +# you can comment out the destination line above that references /dev/tty12 +# and uncomment the line below. +#destination console_all { file("/dev/console"); }; + +# create filters +filter f_authpriv { facility(auth, authpriv); }; +filter f_syslog { not facility(authpriv, mail); }; +filter f_cron { facility(cron); }; +filter f_daemon { facility(daemon); }; +filter f_kern { facility(kern); }; +filter f_lpr { facility(lpr); }; +filter f_mail { facility(mail); }; +filter f_user { facility(user); }; +filter f_debug { not facility(auth, authpriv, news, mail); }; +filter f_messages { level(info..warn) + and not facility(auth, authpriv, mail, news); }; +filter f_emergency { level(emerg); }; + +filter f_info { level(info); }; +filter f_notice { level(notice); }; +filter f_warn { level(warn); }; +filter f_crit { level(crit); }; +filter f_err { level(err); }; +filter f_failed { message("failed"); }; +filter f_denied { message("denied"); }; + +# connect filter and destination +log { source(src); filter(f_authpriv); destination(authlog); }; +log { source(src); filter(f_syslog); destination(syslog); }; +log { source(src); filter(f_cron); destination(cron); }; +log { source(src); filter(f_daemon); destination(daemon); }; +log { source(kernsrc); filter(f_kern); destination(kern); }; +log { source(src); filter(f_lpr); destination(lpr); }; +log { source(src); filter(f_mail); destination(mail); }; +log { source(src); filter(f_user); destination(user); }; +log { source(src); filter(f_mail); filter(f_info); destination(mailinfo); }; +log { source(src); filter(f_mail); filter(f_warn); destination(mailwarn); }; +log { source(src); filter(f_mail); filter(f_err); destination(mailerr); }; + +log { source(src); filter(f_debug); destination(debug); }; +log { source(src); filter(f_messages); destination(messages); }; +log { source(src); filter(f_emergency); destination(console); }; + +# default log +log { source(src); destination(console_all); }; +\end{verbatim} + +\textcolor{green!60!blue!70}{ +\section{Future Advancements}} +What is next for fail2ban after the above? You will want to watch apache logs, and ban any hosts from your IP that search for things they should not be looking for (wordpress logins, phpmyadmin, etc). + +Gentoo has a use flag to use a DB to do persistent blocking over time. This way you can block offending IPs through restarts. + +\textcolor{green!60!blue!70}{ +\section{Further Reading}} +https://github.com/fail2ban/fail2ban/issues/2217 + +https://www.jwz.org/blog/2019/03/apache-2-4-1-killed-fail2ban-so-thats-awesome/ + +https://www.fail2ban.org/wiki/index.php/Apache + +https://www.fail2ban.org/wiki/index.php/ + + + + +\end{document} diff --git a/2019/Fail2Ban_Primer/docs/7.toc b/2019/Fail2Ban_Primer/docs/7.toc new file mode 100644 index 0000000..8f977ca --- /dev/null +++ b/2019/Fail2Ban_Primer/docs/7.toc @@ -0,0 +1,5 @@ +\contentsline {section}{\numberline {1}Overview}{1} +\contentsline {section}{\numberline {2}Instructions for Setup}{1} +\contentsline {subsection}{\numberline {2.1}Getting auth.log to appear in Gentoo}{3} +\contentsline {section}{\numberline {3}Future Advancements}{6} +\contentsline {section}{\numberline {4}Further Reading}{6} diff --git a/2019/Fail2Ban_Primer/docs/fin.pdf b/2019/Fail2Ban_Primer/docs/fin.pdf new file mode 100644 index 0000000..44ebb46 Binary files /dev/null and b/2019/Fail2Ban_Primer/docs/fin.pdf differ diff --git a/2019/Mediawiki_Docker_SetupGuide/docs/notes b/2019/Mediawiki_Docker_SetupGuide/docs/notes new file mode 100644 index 0000000..b3bf749 --- /dev/null +++ b/2019/Mediawiki_Docker_SetupGuide/docs/notes @@ -0,0 +1,40 @@ +setup docker for mediawiki + +following official compose. + +wait until it inits (give it a few minutes). + + +i use a reverse proxy to access the container. + +if you do, edit hte reverse proxy config: + + + +login to mediawiki, and go through the steps to configure it. + + +check the db, to make sure you have something there... +I check the users table. +if the user is in there, the install completed successfully. + +go to the install page again, and you should be able to download localsettings.php + + + + + + +Troubleshooting: +my wiki db is empty after setup! + +if your db fails to init, you can always create the db after. +docker cp mediawiki:/var/www/html/maintenance/tables.sql . +docker cp tables.sql mediawiki_db:/. +then init into the db and +import the sql. +That tables.sql command will create the db. Note that you will need +to manually create the user but there is also some scripts in maintenance, as well +as documentation on mediawiki regarding that. Search online. + + diff --git a/2019/Mediawiki_Navbox_Setup/code/Common.css b/2019/Mediawiki_Navbox_Setup/code/Common.css new file mode 100644 index 0000000..566e741 --- /dev/null +++ b/2019/Mediawiki_Navbox_Setup/code/Common.css @@ -0,0 +1,1204 @@ +/* CSS placed here will be applied to all skins */ + +/* Reset italic styling set by user agent */ +cite, dfn { + font-style: inherit; +} + +/* Straight quote marks for */ +q { + quotes: '"' '"' "'" "'"; +} + +/* Avoid collision of blockquote with floating elements by swapping margin and padding */ +blockquote { + overflow: hidden; + margin: 1em 0; + padding: 0 40px; +} + +/* give pre a float clearing new block formatting context */ +/* Also break any really long words/urls to keep them visible in that case */ +pre, .mw-code { + overflow-x: hidden; + overflow-wrap: break-word; +} + +/* Consistent size for , and */ +small { + font-size: 85%; +} +.mw-body-content sub, +.mw-body-content sup, +span.reference /* for Parsoid */ { + font-size: 80%; +} + +/* Same spacing for indented and unindented paragraphs on talk pages */ +.ns-talk .mw-body-content dd { + margin-top: 0.4em; + margin-bottom: 0.4em; +} + +/* Main page fixes */ +#interwiki-completelist { + font-weight: bold; +} + +/* Reduce page jumps by hiding collapsed/dismissed content */ +.client-js .mw-special-Watchlist #watchlist-message, +.client-js .NavFrame.collapsed .NavContent, +.client-js .collapsible:not( .mw-made-collapsible).collapsed > tbody > tr:not(:first-child) { + display: none; +} + +/* Adds padding above Watchlist announcements where new recentchanges/watchlist filters are enabled */ +.mw-rcfilters-enabled .mw-specialpage-summary { + margin-top: 1em; +} + +/* Hide charinsert base for those not using the gadget */ +#editpage-specialchars { + display: none; +} + +/* Highlight linked elements (such as clicked references) in blue */ +body.action-info .mw-body-content :target, +.citation:target { + background-color: #def; /* Fallback */ + background-color: rgba(0, 127, 255, 0.133); +} + +/* Styling for citations. Breaks long urls, etc., rather than overflowing box */ +.citation { + word-wrap: break-word; +} + +/* For linked citation numbers and document IDs, where the number need not be shown + on a screen or a handheld, but should be included in the printed version */ +@media screen, handheld { + .citation .printonly { + display: none; + } +} + +/* Make the list of references smaller */ +/* Keep in sync with Template:Refbegin/styles.css */ +ol.references, +div.reflist { + font-size: 90%; /* Default font-size */ + margin-bottom: 0.5em; +} +div.reflist ol.references { + font-size: 100%; /* Reset font-size when nested in div.reflist */ + margin-bottom: 0; /* Avoid double margin when nested in div.reflist */ + list-style-type: inherit; /* Enable custom list style types */ +} + +/* Allow hidden ref errors to be shown by user CSS */ +/* TemplateStyles */ +span.brokenref { + display: none; +} + +/* Reset top margin for lists embedded in columns */ +div.columns { + margin-top: 0.3em; +} +div.columns dl, +div.columns ol, +div.columns ul { + margin-top: 0; +} + +/* Avoid elements breaking between columns */ +.nocolbreak, +div.columns li, +div.columns dd dd { + -webkit-column-break-inside: avoid; + page-break-inside: avoid; + break-inside: avoid-column; +} + +/* Style for horizontal lists (separator following item). + @source mediawiki.org/wiki/Snippets/Horizontal_lists + @revision 8 (2016-05-21) + @author [[User:Edokter]] + */ +.hlist dl, +.hlist ol, +.hlist ul { + margin: 0; + padding: 0; +} +/* Display list items inline */ +.hlist dd, +.hlist dt, +.hlist li { + margin: 0; + display: inline; +} +/* Display nested lists inline */ +.hlist.inline, +.hlist.inline dl, +.hlist.inline ol, +.hlist.inline ul, +.hlist dl dl, .hlist dl ol, .hlist dl ul, +.hlist ol dl, .hlist ol ol, .hlist ol ul, +.hlist ul dl, .hlist ul ol, .hlist ul ul { + display: inline; +} +/* Hide empty list items */ +.hlist .mw-empty-li { + display: none; +} +/* Generate interpuncts */ +.hlist dt:after { + content: ": "; +} +/** + * Note hlist style usage differd in + * the Minerva skin. Remember .hlist is a class defined in core as well! Please check Minerva desktop (and Minerva.css) when changing + * See https://phabricator.wikimedia.org/T213239 + */ +.hlist dd:after, +.hlist li:after { + content: " · "; + font-weight: bold; +} +.hlist dd:last-child:after, +.hlist dt:last-child:after, +.hlist li:last-child:after { + content: none; +} +/* Add parentheses around nested lists */ +.hlist dd dd:first-child:before, .hlist dd dt:first-child:before, .hlist dd li:first-child:before, +.hlist dt dd:first-child:before, .hlist dt dt:first-child:before, .hlist dt li:first-child:before, +.hlist li dd:first-child:before, .hlist li dt:first-child:before, .hlist li li:first-child:before { + content: " ("; + font-weight: normal; +} +.hlist dd dd:last-child:after, .hlist dd dt:last-child:after, .hlist dd li:last-child:after, +.hlist dt dd:last-child:after, .hlist dt dt:last-child:after, .hlist dt li:last-child:after, +.hlist li dd:last-child:after, .hlist li dt:last-child:after, .hlist li li:last-child:after { + content: ")"; + font-weight: normal; +} +/* Put ordinals in front of ordered list items */ +.hlist ol { + counter-reset: listitem; +} +.hlist ol > li { + counter-increment: listitem; +} +.hlist ol > li:before { + content: " " counter(listitem) "\a0"; +} +.hlist dd ol > li:first-child:before, +.hlist dt ol > li:first-child:before, +.hlist li ol > li:first-child:before { + content: " (" counter(listitem) "\a0"; +} + +/* Unbulleted lists */ +.plainlist ol, +.plainlist ul { + line-height: inherit; + list-style: none none; + margin: 0; +} +.plainlist ol li, +.plainlist ul li { + margin-bottom: 0; +} + +/* Default style for navigation boxes */ +.navbox { /* Navbox container style */ + box-sizing: border-box; + border: 1px solid #a2a9b1; + width: 100%; + clear: both; + font-size: 88%; + text-align: center; + padding: 1px; + margin: 1em auto 0; /* Prevent preceding content from clinging to navboxes */ +} +.navbox .navbox { + margin-top: 0; /* No top margin for nested navboxes */ +} +.navbox + .navbox { + margin-top: -1px; /* Single pixel border between adjacent navboxes */ +} +.navbox-inner, +.navbox-subgroup { + width: 100%; +} +.navbox-group, +.navbox-title, +.navbox-abovebelow { + padding: 0.25em 1em; /* Title, group and above/below styles */ + line-height: 1.5em; + text-align: center; +} +th.navbox-group { /* Group style */ + white-space: nowrap; + /* @noflip */ + text-align: right; +} +.navbox, +.navbox-subgroup { + background-color: #fdfdfd; /* Background color */ +} +.navbox-list { + line-height: 1.5em; + border-color: #fdfdfd; /* Must match background color */ +} +/* cell spacing for navbox cells */ +tr + tr > .navbox-abovebelow, +tr + tr > .navbox-group, +tr + tr > .navbox-image, +tr + tr > .navbox-list { /* Borders above 2nd, 3rd, etc. rows */ + border-top: 2px solid #fdfdfd; /* Must match background color */ +} +.navbox th, +.navbox-title { + background-color: #ccccff; /* Level 1 color */ +} +.navbox-abovebelow, +th.navbox-group, +.navbox-subgroup .navbox-title { + background-color: #ddddff; /* Level 2 color */ +} +.navbox-subgroup .navbox-group, +.navbox-subgroup .navbox-abovebelow { + background-color: #e6e6ff; /* Level 3 color */ +} +.navbox-even { + background-color: #f7f7f7; /* Even row striping */ +} +.navbox-odd { + background-color: transparent; /* Odd row striping */ +} +.navbox .hlist td dl, +.navbox .hlist td ol, +.navbox .hlist td ul, +.navbox td.hlist dl, +.navbox td.hlist ol, +.navbox td.hlist ul { + padding: 0.125em 0; /* Adjust hlist padding in navboxes */ +} + +/* Default styling for Navbar template */ +.navbar { + display: inline; + font-size: 88%; + font-weight: normal; +} +.navbar ul { + display: inline; + white-space: nowrap; +} +.mw-body-content .navbar ul { + line-height: inherit; +} +.navbar li { + word-spacing: -0.125em; +} +.navbar.mini li abbr[title] { + font-variant: small-caps; + border-bottom: none; + text-decoration: none; + cursor: inherit; +} +/* Navbar styling when nested in infobox and navbox */ +.infobox .navbar { + font-size: 100%; +} +.navbox .navbar { + display: block; + font-size: 100%; +} +.navbox-title .navbar { + /* @noflip */ + float: left; + /* @noflip */ + text-align: left; + /* @noflip */ + margin-right: 0.5em; +} + +/* Styling for JQuery makeCollapsible, matching that of collapseButton */ +.mw-parser-output .mw-collapsible-toggle { + font-weight: normal; + /* @noflip */ + text-align: right; + padding-right: 0.2em; + padding-left: 0.2em; +} +.mw-collapsible-leftside-toggle .mw-collapsible-toggle { + /* @noflip */ + float: left; + /* @noflip */ + text-align: left; +} + +/* Infobox template style */ +.infobox { + border: 1px solid #a2a9b1; + border-spacing: 3px; + background-color: #f8f9fa; + color: black; + /* @noflip */ + margin: 0.5em 0 0.5em 1em; + padding: 0.2em; + /* @noflip */ + float: right; + /* @noflip */ + clear: right; + font-size: 88%; + line-height: 1.5em; +} +.infobox caption { + font-size: 125%; + font-weight: bold; + padding: 0.2em; + text-align: center; +} +.infobox td, +.infobox th { + vertical-align: top; + /* @noflip */ + text-align: left; +} +.infobox.bordered { + border-collapse: collapse; +} +.infobox.bordered td, +.infobox.bordered th { + border: 1px solid #a2a9b1; +} +.infobox.bordered .borderless td, +.infobox.bordered .borderless th { + border: 0; +} + +.infobox.sisterproject { + width: 20em; + font-size: 90%; +} + +.infobox.standard-talk { + border: 1px solid #c0c090; + background-color: #f8eaba; +} +.infobox.standard-talk.bordered td, +.infobox.standard-talk.bordered th { + border: 1px solid #c0c090; +} + +/* styles for bordered infobox with merged rows */ +.infobox.bordered .mergedtoprow td, +.infobox.bordered .mergedtoprow th { + border: 0; + border-top: 1px solid #a2a9b1; + /* @noflip */ + border-right: 1px solid #a2a9b1; +} + +.infobox.bordered .mergedrow td, +.infobox.bordered .mergedrow th { + border: 0; + /* @noflip */ + border-right: 1px solid #a2a9b1; +} + +/* Styles for geography infoboxes, eg countries, + country subdivisions, cities, etc. */ +.infobox.geography { + border-collapse: collapse; + line-height: 1.2em; + font-size: 90%; +} + +.infobox.geography td, +.infobox.geography th { + border-top: 1px solid #a2a9b1; + padding: 0.4em 0.6em 0.4em 0.6em; +} +.infobox.geography .mergedtoprow td, +.infobox.geography .mergedtoprow th { + border-top: 1px solid #a2a9b1; + padding: 0.4em 0.6em 0.2em 0.6em; +} + +.infobox.geography .mergedrow td, +.infobox.geography .mergedrow th { + border: 0; + padding: 0 0.6em 0.2em 0.6em; +} + +.infobox.geography .mergedbottomrow td, +.infobox.geography .mergedbottomrow th { + border-top: 0; + border-bottom: 1px solid #a2a9b1; + padding: 0 0.6em 0.4em 0.6em; +} + +.infobox.geography .maptable td, +.infobox.geography .maptable th { + border: 0; + padding: 0; +} + +/* Normal font styling for wikitable row headers with scope="row" tag */ +.wikitable.plainrowheaders th[scope=row] { + font-weight: normal; + /* @noflip */ + text-align: left; +} + +/* Lists in wikitable data cells are always left-aligned */ +.wikitable td ul, +.wikitable td ol, +.wikitable td dl { + /* @noflip */ + text-align: left; +} +/* ...unless they also use the hlist class */ +.toc.hlist ul, +#toc.hlist ul, +.wikitable.hlist td ul, +.wikitable.hlist td ol, +.wikitable.hlist td dl { + text-align: inherit; +} + +/* Icons for medialist templates [[Template:Listen]], + [[Template:Multi-listen_start]], [[Template:Video]], + [[Template:Multi-video_start]] */ +/* TemplateStyles */ +div.listenlist { + background: url("//upload.wikimedia.org/wikipedia/commons/4/47/Sound-icon.svg") no-repeat scroll 0 0 transparent; + background-size: 30px; + padding-left: 40px; +} + +/* Fix for hieroglyphs specificity issue in infoboxes ([[phab:T43869]]) */ +table.mw-hiero-table td { + vertical-align: middle; +} + +/* Change the external link icon to an Adobe icon for all PDF files */ +.mw-parser-output a[href$=".pdf"].external, +.mw-parser-output a[href*=".pdf?"].external, +.mw-parser-output a[href*=".pdf#"].external, +.mw-parser-output a[href$=".PDF"].external, +.mw-parser-output a[href*=".PDF?"].external, +.mw-parser-output a[href*=".PDF#"].external { + background: url("//upload.wikimedia.org/wikipedia/commons/2/23/Icons-mini-file_acrobat.gif") no-repeat right; + /* @noflip */ + padding-right: 18px; +} + +/* Messagebox templates */ +.messagebox { + border: 1px solid #a2a9b1; + background-color: #f8f9fa; + width: 80%; + margin: 0 auto 1em auto; + padding: .2em; +} +.messagebox.merge { + border: 1px solid #c0b8cc; + background-color: #f0e5ff; + text-align: center; +} +.messagebox.cleanup { + border: 1px solid #9f9fff; + background-color: #efefff; + text-align: center; +} +.messagebox.standard-talk { + border: 1px solid #c0c090; + background-color: #f8eaba; + margin: 4px auto; +} +/* For old WikiProject banners inside banner shells. */ +.mbox-inside .standard-talk, +.messagebox.nested-talk { + border: 1px solid #c0c090; + background-color: #f8eaba; + width: 100%; + margin: 2px 0; + padding: 2px; +} +.messagebox.small { + width: 238px; + font-size: 85%; + /* @noflip */ + float: right; + clear: both; + /* @noflip */ + margin: 0 0 1em 1em; + line-height: 1.25em; +} +.messagebox.small-talk { + width: 238px; + font-size: 85%; + /* @noflip */ + float: right; + clear: both; + /* @noflip */ + margin: 0 0 1em 1em; + line-height: 1.25em; + background-color: #f8eaba; +} + +/* Cell sizes for ambox/tmbox/imbox/cmbox/ombox/fmbox/dmbox message boxes */ +th.mbox-text, td.mbox-text { /* The message body cell(s) */ + border: none; + /* @noflip */ + padding: 0.25em 0.9em; /* 0.9em left/right */ + width: 100%; /* Make all mboxes the same width regardless of text length */ +} +td.mbox-image { /* The left image cell */ + border: none; + /* @noflip */ + padding: 2px 0 2px 0.9em; /* 0.9em left, 0px right */ + text-align: center; +} +td.mbox-imageright { /* The right image cell */ + border: none; + /* @noflip */ + padding: 2px 0.9em 2px 0; /* 0px left, 0.9em right */ + text-align: center; +} +td.mbox-empty-cell { /* An empty narrow cell */ + border: none; + padding: 0; + width: 1px; +} + +/* Article message box styles */ +table.ambox { + margin: 0 10%; /* 10% = Will not overlap with other elements */ + border: 1px solid #a2a9b1; + /* @noflip */ + border-left: 10px solid #36c; /* Default "notice" blue */ + background-color: #fbfbfb; + box-sizing: border-box; +} +table.ambox + table.ambox { /* Single border between stacked boxes. */ + margin-top: -1px; +} +.ambox th.mbox-text, +.ambox td.mbox-text { /* The message body cell(s) */ + padding: 0.25em 0.5em; /* 0.5em left/right */ +} +.ambox td.mbox-image { /* The left image cell */ + /* @noflip */ + padding: 2px 0 2px 0.5em; /* 0.5em left, 0px right */ +} +.ambox td.mbox-imageright { /* The right image cell */ + /* @noflip */ + padding: 2px 0.5em 2px 0; /* 0px left, 0.5em right */ +} + +table.ambox-notice { + /* @noflip */ + border-left: 10px solid #36c; /* Blue */ +} +table.ambox-speedy { + /* @noflip */ + border-left: 10px solid #b32424; /* Red */ + background-color: #fee7e6; /* Pink */ +} +table.ambox-delete { + /* @noflip */ + border-left: 10px solid #b32424; /* Red */ +} +table.ambox-content { + /* @noflip */ + border-left: 10px solid #f28500; /* Orange */ +} +table.ambox-style { + /* @noflip */ + border-left: 10px solid #fc3; /* Yellow */ +} +table.ambox-move { + /* @noflip */ + border-left: 10px solid #9932cc; /* Purple */ +} +table.ambox-protection { + /* @noflip */ + border-left: 10px solid #a2a9b1; /* Gray-gold */ +} + +/* Image message box styles */ +table.imbox { + margin: 4px 10%; + border-collapse: collapse; + border: 3px solid #36c; /* Default "notice" blue */ + background-color: #fbfbfb; + box-sizing: border-box; +} +.imbox .mbox-text .imbox { /* For imboxes inside imbox-text cells. */ + margin: 0 -0.5em; /* 0.9 - 0.5 = 0.4em left/right. */ + display: block; /* Fix for webkit to force 100% width. */ +} +.mbox-inside .imbox { /* For imboxes inside other templates. */ + margin: 4px; +} + +table.imbox-notice { + border: 3px solid #36c; /* Blue */ +} +table.imbox-speedy { + border: 3px solid #b32424; /* Red */ + background-color: #fee7e6; /* Pink */ +} +table.imbox-delete { + border: 3px solid #b32424; /* Red */ +} +table.imbox-content { + border: 3px solid #f28500; /* Orange */ +} +table.imbox-style { + border: 3px solid #fc3; /* Yellow */ +} +table.imbox-move { + border: 3px solid #9932cc; /* Purple */ +} +table.imbox-protection { + border: 3px solid #a2a9b1; /* Gray-gold */ +} +table.imbox-license { + border: 3px solid #88a; /* Dark gray */ + background-color: #f7f8ff; /* Light gray */ +} +table.imbox-featured { + border: 3px solid #cba135; /* Brown-gold */ +} + +/* Category message box styles */ +table.cmbox { + margin: 3px 10%; + border-collapse: collapse; + border: 1px solid #a2a9b1; + background-color: #dfe8ff; /* Default "notice" blue */ + box-sizing: border-box; +} + +table.cmbox-notice { + background-color: #d8e8ff; /* Blue */ +} +table.cmbox-speedy { + margin-top: 4px; + margin-bottom: 4px; + border: 4px solid #b32424; /* Red */ + background-color: #ffdbdb; /* Pink */ +} +table.cmbox-delete { + background-color: #ffdbdb; /* Pink */ +} +table.cmbox-content { + background-color: #ffe7ce; /* Orange */ +} +table.cmbox-style { + background-color: #fff9db; /* Yellow */ +} +table.cmbox-move { + background-color: #e4d8ff; /* Purple */ +} +table.cmbox-protection { + background-color: #efefe1; /* Gray-gold */ +} + +/* Other pages message box styles */ +table.ombox { + margin: 4px 10%; + border-collapse: collapse; + border: 1px solid #a2a9b1; /* Default "notice" gray */ + background-color: #f8f9fa; + box-sizing: border-box; +} + +table.ombox-notice { + border: 1px solid #a2a9b1; /* Gray */ +} +table.ombox-speedy { + border: 2px solid #b32424; /* Red */ + background-color: #fee7e6; /* Pink */ +} +table.ombox-delete { + border: 2px solid #b32424; /* Red */ +} +table.ombox-content { + border: 1px solid #f28500; /* Orange */ +} +table.ombox-style { + border: 1px solid #fc3; /* Yellow */ +} +table.ombox-move { + border: 1px solid #9932cc; /* Purple */ +} +table.ombox-protection { + border: 2px solid #a2a9b1; /* Gray-gold */ +} + +/* Talk page message box styles */ +table.tmbox { + margin: 4px 10%; + border-collapse: collapse; + border: 1px solid #c0c090; /* Default "notice" gray-brown */ + background-color: #f8eaba; + min-width: 80%; + box-sizing: border-box; +} +.tmbox.mbox-small { + min-width: 0; /* reset the min-width of tmbox above */ +} +.mediawiki .mbox-inside .tmbox { /* For tmboxes inside other templates. The "mediawiki" class ensures that */ + margin: 2px 0; /* this declaration overrides other styles (including mbox-small above) */ + width: 100%; /* For Safari and Opera */ +} +.mbox-inside .tmbox.mbox-small { /* "small" tmboxes should not be small when */ + line-height: 1.5em; /* also "nested", so reset styles that are */ + font-size: 100%; /* set in "mbox-small" above. */ +} + +table.tmbox-speedy { + border: 2px solid #b32424; /* Red */ + background-color: #fee7e6; /* Pink */ +} +table.tmbox-delete { + border: 2px solid #b32424; /* Red */ +} +table.tmbox-content { + border: 2px solid #f28500; /* Orange */ +} +table.tmbox-style { + border: 2px solid #fc3; /* Yellow */ +} +table.tmbox-move { + border: 2px solid #9932cc; /* Purple */ +} +table.tmbox-protection, +table.tmbox-notice { + border: 1px solid #c0c090; /* Gray-brown */ +} + +/* Footer and header message box styles */ +table.fmbox { + clear: both; + margin: 0.2em 0; + width: 100%; + border: 1px solid #a2a9b1; + background-color: #f8f9fa; /* Default "system" gray */ + box-sizing: border-box; +} +table.fmbox-system { + background-color: #f8f9fa; +} +table.fmbox-warning { + border: 1px solid #bb7070; /* Dark pink */ + background-color: #ffdbdb; /* Pink */ +} +table.fmbox-editnotice { + background-color: transparent; +} +/* Div based "warning" style fmbox messages. */ +div.mw-warning-with-logexcerpt, +div.mw-lag-warn-high, +div.mw-cascadeprotectedwarning, +div#mw-protect-cascadeon, +div.titleblacklist-warning, +div.locked-warning { + clear: both; + margin: 0.2em 0; + border: 1px solid #bb7070; + background-color: #ffdbdb; + padding: 0.25em 0.9em; + box-sizing: border-box; +} + +/* These mbox-small classes must be placed after all other + ambox/tmbox/ombox etc classes. "html body.mediawiki" is so + they override "table.ambox + table.ambox" above. */ +html body.mediawiki .mbox-small { /* For the "small=yes" option. */ + /* @noflip */ + clear: right; + /* @noflip */ + float: right; + /* @noflip */ + margin: 4px 0 4px 1em; + box-sizing: border-box; + width: 238px; + font-size: 88%; + line-height: 1.25em; +} +html body.mediawiki .mbox-small-left { /* For the "small=left" option. */ + /* @noflip */ + margin: 4px 1em 4px 0; + box-sizing: border-box; + overflow: hidden; + width: 238px; + border-collapse: collapse; + font-size: 88%; + line-height: 1.25em; +} + +/* Style for compact ambox */ +/* Hide the images */ +.compact-ambox table .mbox-image, +.compact-ambox table .mbox-imageright, +.compact-ambox table .mbox-empty-cell { + display: none; +} +/* Remove borders, backgrounds, padding, etc. */ +.compact-ambox table.ambox { + border: none; + border-collapse: collapse; + background-color: transparent; + margin: 0 0 0 1.6em !important; + padding: 0 !important; + width: auto; + display: block; +} +body.mediawiki .compact-ambox table.mbox-small-left { + font-size: 100%; + width: auto; + margin: 0; +} +/* Style the text cell as a list item and remove its padding */ +.compact-ambox table .mbox-text { + padding: 0 !important; + margin: 0 !important; +} +.compact-ambox table .mbox-text-span { + display: list-item; + line-height: 1.5em; + list-style-type: square; + list-style-image: url(/w/skins/MonoBook/resources/images/bullet.svg); +} +.skin-vector .compact-ambox table .mbox-text-span { + list-style-type: disc; + list-style-image: url(/w/skins/Vector/images/bullet-icon.svg); +} +/* Allow for hiding text in compact form */ +.compact-ambox .hide-when-compact { + display: none; +} + +/* Hide (formatting) elements from screen, but not from screenreaders */ +.visualhide { + position: absolute; + left: -10000px; + top: auto; + width: 1px; + height: 1px; + overflow: hidden; +} + +/* Suppress missing interwiki image links where #ifexist cannot + be used due to high number of requests. See .hidden-redlink on + [[m:MediaWiki:Common.css]] */ +.check-icon a.new { + display: none; + speak: none; +} + +/* Remove underlines from certain links */ +.nounderlines a, +.IPA a:link, .IPA a:visited { + text-decoration: none !important; +} + +/* Standard Navigationsleisten, aka box hiding thingy + from .de. Documentation at [[Wikipedia:NavFrame]]. */ +div.NavFrame { + margin: 0; + padding: 4px; + border: 1px solid #a2a9b1; + text-align: center; + border-collapse: collapse; + font-size: 95%; +} +div.NavFrame + div.NavFrame { + border-top-style: none; + border-top-style: hidden; +} +div.NavFrame div.NavHead { + line-height: 1.6em; + font-weight: bold; + background-color: #ccf; + position: relative; +} +div.NavFrame p, +div.NavFrame div.NavContent, +div.NavFrame div.NavContent p { + font-size: 100%; +} +a.NavToggle { + position: absolute; + top: 0; + /* @noflip */ + right: 3px; + font-weight: normal; + font-size: 90%; +} + +/* Hatnotes and disambiguation notices */ +.hatnote { + font-style: italic; +} +.hatnote i { + font-style: normal; +} +div.hatnote { + /* @noflip */ + padding-left: 1.6em; + margin-bottom: 0.5em; +} +div.hatnote + div.hatnote { + margin-top: -0.5em; +} + +/* Allow transcluded pages to display in lists rather than a table. */ +.listify td { + display: list-item; +} +.listify tr { + display: block; +} +.listify table { + display: block; +} + +/* Geographical coordinates defaults. See [[Template:Coord/link]] + for how these are used. The classes "geo", "longitude", and + "latitude" are used by the [[Geo microformat]]. */ +/* TemplateStyles */ +.geo-default, .geo-dms, .geo-dec { + display: inline; +} +.geo-nondefault, .geo-multi-punct { + display: none; +} +.longitude, .latitude { + white-space: nowrap; +} + +/* User block messages */ +div.user-block { + padding: 5px; + margin-bottom: 0.5em; + border: 1px solid #a9a9a9; + background-color: #ffefd5; +} + +/* Prevent line breaks in silly places: + 1) Where desired + 2) Links when we don't want them to + 3) Bold "links" to the page itself */ +.nowrap, +.nowraplinks a, +.nowraplinks .selflink { + white-space: nowrap; +} +.nowrap pre { + white-space: pre; +} +/* But allow wrapping where desired: */ +.wrap, +.wraplinks a { + white-space: normal; +} + +/* For template documentation */ +/* TemplateStyles */ +.template-documentation { + clear: both; + margin: 1em 0 0 0; + border: 1px solid #a2a9b1; + background-color: #ecfcf4; + padding: 1em; +} + +/* Increase the height of the image upload box */ +#wpUploadDescription { + height: 13em; +} + +/* Minimum thumb width */ +.thumbinner { + min-width: 100px; +} + +/* Prevent floating boxes from overlapping any category listings, + file histories, edit previews, and edit [Show changes] views. */ +#mw-subcategories, #mw-pages, #mw-category-media, +#filehistory, #wikiPreview, #wikiDiff { + clear: both; +} + +/* Selectively hide headers in WikiProject banners */ +/* TemplateStyles */ +.wpb .wpb-header { + display: none; +} +.wpbs-inner .wpb .wpb-header { + display: block; /* for IE */ +} +.wpbs-inner .wpb .wpb-header { + display: table-row; /* for real browsers */ +} +.wpbs-inner .wpb-outside { + display: none; /* hide things that should only display outside shells */ +} + +/* Styling for Abuse Filter tags */ +.mw-tag-markers { + font-style: italic; + font-size: 90%; +} + +/* Hide stuff meant for accounts with special permissions. Made visible again in + [[MediaWiki:Group-checkuser.css]], [[MediaWiki:Group-sysop.css]], [[MediaWiki:Group-patroller.css]], + [[MediaWiki:Group-templateeditor.css]], [[MediaWiki:Group-extendedmover.css]], + [[MediaWiki:Group-extendedconfirmed.css]], and [[Mediawiki:Group-autoconfirmed.css]]. */ +.checkuser-show, +.sysop-show, +.patroller-show, +.templateeditor-show, +.extendedmover-show, +.extendedconfirmed-show, +.autoconfirmed-show, +.user-show { + display: none; +} + +/* Hide the redlink generated by {{Editnotice}}, + this overrides the ".sysop-show { display: none; }" above that applies + to the same link as well. See [[phab:T45013]] + + Hide the images in editnotices to keep them readable in VE view. + Long term, editnotices should become a core feature so that they can be designed responsive. */ +.ve-ui-mwNoticesPopupTool-item .editnotice-redlink, +.ve-ui-mwNoticesPopupTool-item .mbox-image, +.ve-ui-mwNoticesPopupTool-item .mbox-imageright { + display: none !important; +} + +/* Remove bullets when there are multiple edit page warnings */ +ul.permissions-errors > li { + list-style: none none; +} +ul.permissions-errors { + margin: 0; +} + +/* Generic class for Times-based serif, texhtml class for inline math */ +.times-serif, +span.texhtml { + font-family: "Nimbus Roman No9 L", "Times New Roman", Times, serif; + font-size: 118%; + line-height: 1; +} +span.texhtml { + white-space: nowrap; +} +span.texhtml span.texhtml { + font-size: 100%; +} +span.mwe-math-mathml-inline { + font-size: 118%; +} + +/* Force tabular and lining display for digits and texhtml */ +.digits, +.texhtml { + -moz-font-feature-settings: "lnum", "tnum", "kern" 0; + -webkit-font-feature-settings: "lnum", "tnum", "kern" 0; + font-feature-settings: "lnum", "tnum", "kern" 0; + font-variant-numeric: lining-nums tabular-nums; + font-kerning: none; +} + +/* Make be left aligned with one space indent for compatibility with style conventions */ +.mwe-math-fallback-image-display, +.mwe-math-mathml-display { + margin-left: 1.6em !important; + margin-top: 0.6em; + margin-bottom: 0.6em; +} +.mwe-math-mathml-display math { + display: inline; +} + +/* Fix styling of transcluded prefindex tables */ +table#mw-prefixindex-list-table, +table#mw-prefixindex-nav-table { + width: 98%; +} + +/* Make it possible to hide checkboxes in */ +.inputbox-hidecheckboxes form .inputbox-element, +.inputbox-hidecheckboxes .mw-ui-checkbox { + display: none !important; +} + +/* Work-around for [[phab:T25965]] / [[phab:T100106]] (Kaltura advertisement) */ +.k-player .k-attribution { + visibility: hidden; +} + +/* Move 'play' button of video player to bottom left corner */ +.PopUpMediaTransform a .play-btn-large { + margin: 0; + top: auto; + right: auto; + bottom: 0; + left: 0; +} + +/* Hide FlaggedRevs notice UI when there are no pending changes */ +.flaggedrevs_draft_synced, +.flaggedrevs_stable_synced { + display: none; +} + +/* Force imgs in galleries to have borders by wrapping them in class=bordered-images */ +.bordered-images img { + border: solid #ddd 1px; +} + +/* Gallery styles background changes are restricted to screen view. In printing we should avoid applying backgrounds. */ +@media screen { + /* The backgrounds for galleries. */ + #content .gallerybox div.thumb { + /* Light gray padding */ + background-color: #f8f9fa; + } + + /* Put a chequered background behind images, only visible if they have transparency. + '.filehistory a img' and '#file img:hover' are handled by MediaWiki core (as of 1.19) */ + .gallerybox .thumb img { + background: #fff url(//upload.wikimedia.org/wikipedia/commons/5/5d/Checker-16x16.png) repeat; + } + /* But not on articles, user pages, portals or with opt-out. */ + .ns-0 .gallerybox .thumb img, + .ns-2 .gallerybox .thumb img, + .ns-100 .gallerybox .thumb img, + .nochecker .gallerybox .thumb img { + background-image: none; + } + +} + +/* Display "From Wikipedia, the free encyclopedia" in skins that support it, do not apply to print mode */ +@media screen { + #siteSub { + display: block; + } +} diff --git a/2019/Mediawiki_Navbox_Setup/code/Wikipedia-20191028012859.xml b/2019/Mediawiki_Navbox_Setup/code/Wikipedia-20191028012859.xml new file mode 100644 index 0000000..84329ee --- /dev/null +++ b/2019/Mediawiki_Navbox_Setup/code/Wikipedia-20191028012859.xml @@ -0,0 +1,1265 @@ + + + Wikipedia + enwiki + https://en.wikipedia.org/wiki/Main_Page + MediaWiki 1.35.0-wmf.3 + first-letter + + Media + Special + + Talk + User + User talk + Wikipedia + Wikipedia talk + File + File talk + MediaWiki + MediaWiki talk + Template + Template talk + Help + Help talk + Category + Category talk + Portal + Portal talk + Book + Book talk + Draft + Draft talk + Education Program + Education Program talk + TimedText + TimedText talk + Module + Module talk + Gadget + Gadget talk + Gadget definition + Gadget definition talk + + + + MediaWiki:Common.css + 8 + 2213345 + + 909299523 + 907169710 + 2019-08-04T14:28:51Z + + Xaosflux + 502540 + + bullet.gif -> bullet.svg as the former no longer exists + css + text/css + /* Reset italic styling set by user agent */ +cite, dfn { + font-style: inherit; +} + +/* Straight quote marks for <q> */ +q { + quotes: '"' '"' "'" "'"; +} + +/* Avoid collision of blockquote with floating elements by swapping margin and padding */ +blockquote { + overflow: hidden; + margin: 1em 0; + padding: 0 40px; +} + +/* give pre a float clearing new block formatting context */ +/* Also break any really long words/urls to keep them visible in that case */ +pre, .mw-code { + overflow-x: hidden; + overflow-wrap: break-word; +} + +/* Consistent size for <small>, <sub> and <sup> */ +small { + font-size: 85%; +} +.mw-body-content sub, +.mw-body-content sup, +span.reference /* for Parsoid */ { + font-size: 80%; +} + +/* Same spacing for indented and unindented paragraphs on talk pages */ +.ns-talk .mw-body-content dd { + margin-top: 0.4em; + margin-bottom: 0.4em; +} + +/* Main page fixes */ +#interwiki-completelist { + font-weight: bold; +} + +/* Reduce page jumps by hiding collapsed/dismissed content */ +.client-js .mw-special-Watchlist #watchlist-message, +.client-js .NavFrame.collapsed .NavContent, +.client-js .collapsible:not( .mw-made-collapsible).collapsed > tbody > tr:not(:first-child) { + display: none; +} + +/* Adds padding above Watchlist announcements where new recentchanges/watchlist filters are enabled */ +.mw-rcfilters-enabled .mw-specialpage-summary { + margin-top: 1em; +} + +/* Hide charinsert base for those not using the gadget */ +#editpage-specialchars { + display: none; +} + +/* Highlight linked elements (such as clicked references) in blue */ +body.action-info .mw-body-content :target, +.citation:target { + background-color: #def; /* Fallback */ + background-color: rgba(0, 127, 255, 0.133); +} + +/* Styling for citations. Breaks long urls, etc., rather than overflowing box */ +.citation { + word-wrap: break-word; +} + +/* For linked citation numbers and document IDs, where the number need not be shown + on a screen or a handheld, but should be included in the printed version */ +@media screen, handheld { + .citation .printonly { + display: none; + } +} + +/* Make the list of references smaller */ +/* Keep in sync with Template:Refbegin/styles.css */ +ol.references, +div.reflist { + font-size: 90%; /* Default font-size */ + margin-bottom: 0.5em; +} +div.reflist ol.references { + font-size: 100%; /* Reset font-size when nested in div.reflist */ + margin-bottom: 0; /* Avoid double margin when nested in div.reflist */ + list-style-type: inherit; /* Enable custom list style types */ +} + +/* Allow hidden ref errors to be shown by user CSS */ +/* TemplateStyles */ +span.brokenref { + display: none; +} + +/* Reset top margin for lists embedded in columns */ +div.columns { + margin-top: 0.3em; +} +div.columns dl, +div.columns ol, +div.columns ul { + margin-top: 0; +} + +/* Avoid elements breaking between columns */ +.nocolbreak, +div.columns li, +div.columns dd dd { + -webkit-column-break-inside: avoid; + page-break-inside: avoid; + break-inside: avoid-column; +} + +/* Style for horizontal lists (separator following item). + @source mediawiki.org/wiki/Snippets/Horizontal_lists + @revision 8 (2016-05-21) + @author [[User:Edokter]] + */ +.hlist dl, +.hlist ol, +.hlist ul { + margin: 0; + padding: 0; +} +/* Display list items inline */ +.hlist dd, +.hlist dt, +.hlist li { + margin: 0; + display: inline; +} +/* Display nested lists inline */ +.hlist.inline, +.hlist.inline dl, +.hlist.inline ol, +.hlist.inline ul, +.hlist dl dl, .hlist dl ol, .hlist dl ul, +.hlist ol dl, .hlist ol ol, .hlist ol ul, +.hlist ul dl, .hlist ul ol, .hlist ul ul { + display: inline; +} +/* Hide empty list items */ +.hlist .mw-empty-li { + display: none; +} +/* Generate interpuncts */ +.hlist dt:after { + content: ": "; +} +/** + * Note hlist style usage differd in + * the Minerva skin. Remember .hlist is a class defined in core as well! Please check Minerva desktop (and Minerva.css) when changing + * See https://phabricator.wikimedia.org/T213239 + */ +.hlist dd:after, +.hlist li:after { + content: " · "; + font-weight: bold; +} +.hlist dd:last-child:after, +.hlist dt:last-child:after, +.hlist li:last-child:after { + content: none; +} +/* Add parentheses around nested lists */ +.hlist dd dd:first-child:before, .hlist dd dt:first-child:before, .hlist dd li:first-child:before, +.hlist dt dd:first-child:before, .hlist dt dt:first-child:before, .hlist dt li:first-child:before, +.hlist li dd:first-child:before, .hlist li dt:first-child:before, .hlist li li:first-child:before { + content: " ("; + font-weight: normal; +} +.hlist dd dd:last-child:after, .hlist dd dt:last-child:after, .hlist dd li:last-child:after, +.hlist dt dd:last-child:after, .hlist dt dt:last-child:after, .hlist dt li:last-child:after, +.hlist li dd:last-child:after, .hlist li dt:last-child:after, .hlist li li:last-child:after { + content: ")"; + font-weight: normal; +} +/* Put ordinals in front of ordered list items */ +.hlist ol { + counter-reset: listitem; +} +.hlist ol > li { + counter-increment: listitem; +} +.hlist ol > li:before { + content: " " counter(listitem) "\a0"; +} +.hlist dd ol > li:first-child:before, +.hlist dt ol > li:first-child:before, +.hlist li ol > li:first-child:before { + content: " (" counter(listitem) "\a0"; +} + +/* Unbulleted lists */ +.plainlist ol, +.plainlist ul { + line-height: inherit; + list-style: none none; + margin: 0; +} +.plainlist ol li, +.plainlist ul li { + margin-bottom: 0; +} + +/* Default style for navigation boxes */ +.navbox { /* Navbox container style */ + box-sizing: border-box; + border: 1px solid #a2a9b1; + width: 100%; + clear: both; + font-size: 88%; + text-align: center; + padding: 1px; + margin: 1em auto 0; /* Prevent preceding content from clinging to navboxes */ +} +.navbox .navbox { + margin-top: 0; /* No top margin for nested navboxes */ +} +.navbox + .navbox { + margin-top: -1px; /* Single pixel border between adjacent navboxes */ +} +.navbox-inner, +.navbox-subgroup { + width: 100%; +} +.navbox-group, +.navbox-title, +.navbox-abovebelow { + padding: 0.25em 1em; /* Title, group and above/below styles */ + line-height: 1.5em; + text-align: center; +} +th.navbox-group { /* Group style */ + white-space: nowrap; + /* @noflip */ + text-align: right; +} +.navbox, +.navbox-subgroup { + background-color: #fdfdfd; /* Background color */ +} +.navbox-list { + line-height: 1.5em; + border-color: #fdfdfd; /* Must match background color */ +} +/* cell spacing for navbox cells */ +tr + tr > .navbox-abovebelow, +tr + tr > .navbox-group, +tr + tr > .navbox-image, +tr + tr > .navbox-list { /* Borders above 2nd, 3rd, etc. rows */ + border-top: 2px solid #fdfdfd; /* Must match background color */ +} +.navbox th, +.navbox-title { + background-color: #ccccff; /* Level 1 color */ +} +.navbox-abovebelow, +th.navbox-group, +.navbox-subgroup .navbox-title { + background-color: #ddddff; /* Level 2 color */ +} +.navbox-subgroup .navbox-group, +.navbox-subgroup .navbox-abovebelow { + background-color: #e6e6ff; /* Level 3 color */ +} +.navbox-even { + background-color: #f7f7f7; /* Even row striping */ +} +.navbox-odd { + background-color: transparent; /* Odd row striping */ +} +.navbox .hlist td dl, +.navbox .hlist td ol, +.navbox .hlist td ul, +.navbox td.hlist dl, +.navbox td.hlist ol, +.navbox td.hlist ul { + padding: 0.125em 0; /* Adjust hlist padding in navboxes */ +} + +/* Default styling for Navbar template */ +.navbar { + display: inline; + font-size: 88%; + font-weight: normal; +} +.navbar ul { + display: inline; + white-space: nowrap; +} +.mw-body-content .navbar ul { + line-height: inherit; +} +.navbar li { + word-spacing: -0.125em; +} +.navbar.mini li abbr[title] { + font-variant: small-caps; + border-bottom: none; + text-decoration: none; + cursor: inherit; +} +/* Navbar styling when nested in infobox and navbox */ +.infobox .navbar { + font-size: 100%; +} +.navbox .navbar { + display: block; + font-size: 100%; +} +.navbox-title .navbar { + /* @noflip */ + float: left; + /* @noflip */ + text-align: left; + /* @noflip */ + margin-right: 0.5em; +} + +/* Styling for JQuery makeCollapsible, matching that of collapseButton */ +.mw-parser-output .mw-collapsible-toggle { + font-weight: normal; + /* @noflip */ + text-align: right; + padding-right: 0.2em; + padding-left: 0.2em; +} +.mw-collapsible-leftside-toggle .mw-collapsible-toggle { + /* @noflip */ + float: left; + /* @noflip */ + text-align: left; +} + +/* Infobox template style */ +.infobox { + border: 1px solid #a2a9b1; + border-spacing: 3px; + background-color: #f8f9fa; + color: black; + /* @noflip */ + margin: 0.5em 0 0.5em 1em; + padding: 0.2em; + /* @noflip */ + float: right; + /* @noflip */ + clear: right; + font-size: 88%; + line-height: 1.5em; +} +.infobox caption { + font-size: 125%; + font-weight: bold; + padding: 0.2em; + text-align: center; +} +.infobox td, +.infobox th { + vertical-align: top; + /* @noflip */ + text-align: left; +} +.infobox.bordered { + border-collapse: collapse; +} +.infobox.bordered td, +.infobox.bordered th { + border: 1px solid #a2a9b1; +} +.infobox.bordered .borderless td, +.infobox.bordered .borderless th { + border: 0; +} + +.infobox.sisterproject { + width: 20em; + font-size: 90%; +} + +.infobox.standard-talk { + border: 1px solid #c0c090; + background-color: #f8eaba; +} +.infobox.standard-talk.bordered td, +.infobox.standard-talk.bordered th { + border: 1px solid #c0c090; +} + +/* styles for bordered infobox with merged rows */ +.infobox.bordered .mergedtoprow td, +.infobox.bordered .mergedtoprow th { + border: 0; + border-top: 1px solid #a2a9b1; + /* @noflip */ + border-right: 1px solid #a2a9b1; +} + +.infobox.bordered .mergedrow td, +.infobox.bordered .mergedrow th { + border: 0; + /* @noflip */ + border-right: 1px solid #a2a9b1; +} + +/* Styles for geography infoboxes, eg countries, + country subdivisions, cities, etc. */ +.infobox.geography { + border-collapse: collapse; + line-height: 1.2em; + font-size: 90%; +} + +.infobox.geography td, +.infobox.geography th { + border-top: 1px solid #a2a9b1; + padding: 0.4em 0.6em 0.4em 0.6em; +} +.infobox.geography .mergedtoprow td, +.infobox.geography .mergedtoprow th { + border-top: 1px solid #a2a9b1; + padding: 0.4em 0.6em 0.2em 0.6em; +} + +.infobox.geography .mergedrow td, +.infobox.geography .mergedrow th { + border: 0; + padding: 0 0.6em 0.2em 0.6em; +} + +.infobox.geography .mergedbottomrow td, +.infobox.geography .mergedbottomrow th { + border-top: 0; + border-bottom: 1px solid #a2a9b1; + padding: 0 0.6em 0.4em 0.6em; +} + +.infobox.geography .maptable td, +.infobox.geography .maptable th { + border: 0; + padding: 0; +} + +/* Normal font styling for wikitable row headers with scope="row" tag */ +.wikitable.plainrowheaders th[scope=row] { + font-weight: normal; + /* @noflip */ + text-align: left; +} + +/* Lists in wikitable data cells are always left-aligned */ +.wikitable td ul, +.wikitable td ol, +.wikitable td dl { + /* @noflip */ + text-align: left; +} +/* ...unless they also use the hlist class */ +.toc.hlist ul, +#toc.hlist ul, +.wikitable.hlist td ul, +.wikitable.hlist td ol, +.wikitable.hlist td dl { + text-align: inherit; +} + +/* Icons for medialist templates [[Template:Listen]], + [[Template:Multi-listen_start]], [[Template:Video]], + [[Template:Multi-video_start]] */ +/* TemplateStyles */ +div.listenlist { + background: url("//upload.wikimedia.org/wikipedia/commons/4/47/Sound-icon.svg") no-repeat scroll 0 0 transparent; + background-size: 30px; + padding-left: 40px; +} + +/* Fix for hieroglyphs specificity issue in infoboxes ([[phab:T43869]]) */ +table.mw-hiero-table td { + vertical-align: middle; +} + +/* Change the external link icon to an Adobe icon for all PDF files */ +.mw-parser-output a[href$=".pdf"].external, +.mw-parser-output a[href*=".pdf?"].external, +.mw-parser-output a[href*=".pdf#"].external, +.mw-parser-output a[href$=".PDF"].external, +.mw-parser-output a[href*=".PDF?"].external, +.mw-parser-output a[href*=".PDF#"].external { + background: url("//upload.wikimedia.org/wikipedia/commons/2/23/Icons-mini-file_acrobat.gif") no-repeat right; + /* @noflip */ + padding-right: 18px; +} + +/* Messagebox templates */ +.messagebox { + border: 1px solid #a2a9b1; + background-color: #f8f9fa; + width: 80%; + margin: 0 auto 1em auto; + padding: .2em; +} +.messagebox.merge { + border: 1px solid #c0b8cc; + background-color: #f0e5ff; + text-align: center; +} +.messagebox.cleanup { + border: 1px solid #9f9fff; + background-color: #efefff; + text-align: center; +} +.messagebox.standard-talk { + border: 1px solid #c0c090; + background-color: #f8eaba; + margin: 4px auto; +} +/* For old WikiProject banners inside banner shells. */ +.mbox-inside .standard-talk, +.messagebox.nested-talk { + border: 1px solid #c0c090; + background-color: #f8eaba; + width: 100%; + margin: 2px 0; + padding: 2px; +} +.messagebox.small { + width: 238px; + font-size: 85%; + /* @noflip */ + float: right; + clear: both; + /* @noflip */ + margin: 0 0 1em 1em; + line-height: 1.25em; +} +.messagebox.small-talk { + width: 238px; + font-size: 85%; + /* @noflip */ + float: right; + clear: both; + /* @noflip */ + margin: 0 0 1em 1em; + line-height: 1.25em; + background-color: #f8eaba; +} + +/* Cell sizes for ambox/tmbox/imbox/cmbox/ombox/fmbox/dmbox message boxes */ +th.mbox-text, td.mbox-text { /* The message body cell(s) */ + border: none; + /* @noflip */ + padding: 0.25em 0.9em; /* 0.9em left/right */ + width: 100%; /* Make all mboxes the same width regardless of text length */ +} +td.mbox-image { /* The left image cell */ + border: none; + /* @noflip */ + padding: 2px 0 2px 0.9em; /* 0.9em left, 0px right */ + text-align: center; +} +td.mbox-imageright { /* The right image cell */ + border: none; + /* @noflip */ + padding: 2px 0.9em 2px 0; /* 0px left, 0.9em right */ + text-align: center; +} +td.mbox-empty-cell { /* An empty narrow cell */ + border: none; + padding: 0; + width: 1px; +} + +/* Article message box styles */ +table.ambox { + margin: 0 10%; /* 10% = Will not overlap with other elements */ + border: 1px solid #a2a9b1; + /* @noflip */ + border-left: 10px solid #36c; /* Default "notice" blue */ + background-color: #fbfbfb; + box-sizing: border-box; +} +table.ambox + table.ambox { /* Single border between stacked boxes. */ + margin-top: -1px; +} +.ambox th.mbox-text, +.ambox td.mbox-text { /* The message body cell(s) */ + padding: 0.25em 0.5em; /* 0.5em left/right */ +} +.ambox td.mbox-image { /* The left image cell */ + /* @noflip */ + padding: 2px 0 2px 0.5em; /* 0.5em left, 0px right */ +} +.ambox td.mbox-imageright { /* The right image cell */ + /* @noflip */ + padding: 2px 0.5em 2px 0; /* 0px left, 0.5em right */ +} + +table.ambox-notice { + /* @noflip */ + border-left: 10px solid #36c; /* Blue */ +} +table.ambox-speedy { + /* @noflip */ + border-left: 10px solid #b32424; /* Red */ + background-color: #fee7e6; /* Pink */ +} +table.ambox-delete { + /* @noflip */ + border-left: 10px solid #b32424; /* Red */ +} +table.ambox-content { + /* @noflip */ + border-left: 10px solid #f28500; /* Orange */ +} +table.ambox-style { + /* @noflip */ + border-left: 10px solid #fc3; /* Yellow */ +} +table.ambox-move { + /* @noflip */ + border-left: 10px solid #9932cc; /* Purple */ +} +table.ambox-protection { + /* @noflip */ + border-left: 10px solid #a2a9b1; /* Gray-gold */ +} + +/* Image message box styles */ +table.imbox { + margin: 4px 10%; + border-collapse: collapse; + border: 3px solid #36c; /* Default "notice" blue */ + background-color: #fbfbfb; + box-sizing: border-box; +} +.imbox .mbox-text .imbox { /* For imboxes inside imbox-text cells. */ + margin: 0 -0.5em; /* 0.9 - 0.5 = 0.4em left/right. */ + display: block; /* Fix for webkit to force 100% width. */ +} +.mbox-inside .imbox { /* For imboxes inside other templates. */ + margin: 4px; +} + +table.imbox-notice { + border: 3px solid #36c; /* Blue */ +} +table.imbox-speedy { + border: 3px solid #b32424; /* Red */ + background-color: #fee7e6; /* Pink */ +} +table.imbox-delete { + border: 3px solid #b32424; /* Red */ +} +table.imbox-content { + border: 3px solid #f28500; /* Orange */ +} +table.imbox-style { + border: 3px solid #fc3; /* Yellow */ +} +table.imbox-move { + border: 3px solid #9932cc; /* Purple */ +} +table.imbox-protection { + border: 3px solid #a2a9b1; /* Gray-gold */ +} +table.imbox-license { + border: 3px solid #88a; /* Dark gray */ + background-color: #f7f8ff; /* Light gray */ +} +table.imbox-featured { + border: 3px solid #cba135; /* Brown-gold */ +} + +/* Category message box styles */ +table.cmbox { + margin: 3px 10%; + border-collapse: collapse; + border: 1px solid #a2a9b1; + background-color: #dfe8ff; /* Default "notice" blue */ + box-sizing: border-box; +} + +table.cmbox-notice { + background-color: #d8e8ff; /* Blue */ +} +table.cmbox-speedy { + margin-top: 4px; + margin-bottom: 4px; + border: 4px solid #b32424; /* Red */ + background-color: #ffdbdb; /* Pink */ +} +table.cmbox-delete { + background-color: #ffdbdb; /* Pink */ +} +table.cmbox-content { + background-color: #ffe7ce; /* Orange */ +} +table.cmbox-style { + background-color: #fff9db; /* Yellow */ +} +table.cmbox-move { + background-color: #e4d8ff; /* Purple */ +} +table.cmbox-protection { + background-color: #efefe1; /* Gray-gold */ +} + +/* Other pages message box styles */ +table.ombox { + margin: 4px 10%; + border-collapse: collapse; + border: 1px solid #a2a9b1; /* Default "notice" gray */ + background-color: #f8f9fa; + box-sizing: border-box; +} + +table.ombox-notice { + border: 1px solid #a2a9b1; /* Gray */ +} +table.ombox-speedy { + border: 2px solid #b32424; /* Red */ + background-color: #fee7e6; /* Pink */ +} +table.ombox-delete { + border: 2px solid #b32424; /* Red */ +} +table.ombox-content { + border: 1px solid #f28500; /* Orange */ +} +table.ombox-style { + border: 1px solid #fc3; /* Yellow */ +} +table.ombox-move { + border: 1px solid #9932cc; /* Purple */ +} +table.ombox-protection { + border: 2px solid #a2a9b1; /* Gray-gold */ +} + +/* Talk page message box styles */ +table.tmbox { + margin: 4px 10%; + border-collapse: collapse; + border: 1px solid #c0c090; /* Default "notice" gray-brown */ + background-color: #f8eaba; + min-width: 80%; + box-sizing: border-box; +} +.tmbox.mbox-small { + min-width: 0; /* reset the min-width of tmbox above */ +} +.mediawiki .mbox-inside .tmbox { /* For tmboxes inside other templates. The "mediawiki" class ensures that */ + margin: 2px 0; /* this declaration overrides other styles (including mbox-small above) */ + width: 100%; /* For Safari and Opera */ +} +.mbox-inside .tmbox.mbox-small { /* "small" tmboxes should not be small when */ + line-height: 1.5em; /* also "nested", so reset styles that are */ + font-size: 100%; /* set in "mbox-small" above. */ +} + +table.tmbox-speedy { + border: 2px solid #b32424; /* Red */ + background-color: #fee7e6; /* Pink */ +} +table.tmbox-delete { + border: 2px solid #b32424; /* Red */ +} +table.tmbox-content { + border: 2px solid #f28500; /* Orange */ +} +table.tmbox-style { + border: 2px solid #fc3; /* Yellow */ +} +table.tmbox-move { + border: 2px solid #9932cc; /* Purple */ +} +table.tmbox-protection, +table.tmbox-notice { + border: 1px solid #c0c090; /* Gray-brown */ +} + +/* Footer and header message box styles */ +table.fmbox { + clear: both; + margin: 0.2em 0; + width: 100%; + border: 1px solid #a2a9b1; + background-color: #f8f9fa; /* Default "system" gray */ + box-sizing: border-box; +} +table.fmbox-system { + background-color: #f8f9fa; +} +table.fmbox-warning { + border: 1px solid #bb7070; /* Dark pink */ + background-color: #ffdbdb; /* Pink */ +} +table.fmbox-editnotice { + background-color: transparent; +} +/* Div based "warning" style fmbox messages. */ +div.mw-warning-with-logexcerpt, +div.mw-lag-warn-high, +div.mw-cascadeprotectedwarning, +div#mw-protect-cascadeon, +div.titleblacklist-warning, +div.locked-warning { + clear: both; + margin: 0.2em 0; + border: 1px solid #bb7070; + background-color: #ffdbdb; + padding: 0.25em 0.9em; + box-sizing: border-box; +} + +/* These mbox-small classes must be placed after all other + ambox/tmbox/ombox etc classes. "html body.mediawiki" is so + they override "table.ambox + table.ambox" above. */ +html body.mediawiki .mbox-small { /* For the "small=yes" option. */ + /* @noflip */ + clear: right; + /* @noflip */ + float: right; + /* @noflip */ + margin: 4px 0 4px 1em; + box-sizing: border-box; + width: 238px; + font-size: 88%; + line-height: 1.25em; +} +html body.mediawiki .mbox-small-left { /* For the "small=left" option. */ + /* @noflip */ + margin: 4px 1em 4px 0; + box-sizing: border-box; + overflow: hidden; + width: 238px; + border-collapse: collapse; + font-size: 88%; + line-height: 1.25em; +} + +/* Style for compact ambox */ +/* Hide the images */ +.compact-ambox table .mbox-image, +.compact-ambox table .mbox-imageright, +.compact-ambox table .mbox-empty-cell { + display: none; +} +/* Remove borders, backgrounds, padding, etc. */ +.compact-ambox table.ambox { + border: none; + border-collapse: collapse; + background-color: transparent; + margin: 0 0 0 1.6em !important; + padding: 0 !important; + width: auto; + display: block; +} +body.mediawiki .compact-ambox table.mbox-small-left { + font-size: 100%; + width: auto; + margin: 0; +} +/* Style the text cell as a list item and remove its padding */ +.compact-ambox table .mbox-text { + padding: 0 !important; + margin: 0 !important; +} +.compact-ambox table .mbox-text-span { + display: list-item; + line-height: 1.5em; + list-style-type: square; + list-style-image: url(/w/skins/MonoBook/resources/images/bullet.svg); +} +.skin-vector .compact-ambox table .mbox-text-span { + list-style-type: disc; + list-style-image: url(/w/skins/Vector/images/bullet-icon.svg); +} +/* Allow for hiding text in compact form */ +.compact-ambox .hide-when-compact { + display: none; +} + +/* Hide (formatting) elements from screen, but not from screenreaders */ +.visualhide { + position: absolute; + left: -10000px; + top: auto; + width: 1px; + height: 1px; + overflow: hidden; +} + +/* Suppress missing interwiki image links where #ifexist cannot + be used due to high number of requests. See .hidden-redlink on + [[m:MediaWiki:Common.css]] */ +.check-icon a.new { + display: none; + speak: none; +} + +/* Remove underlines from certain links */ +.nounderlines a, +.IPA a:link, .IPA a:visited { + text-decoration: none !important; +} + +/* Standard Navigationsleisten, aka box hiding thingy + from .de. Documentation at [[Wikipedia:NavFrame]]. */ +div.NavFrame { + margin: 0; + padding: 4px; + border: 1px solid #a2a9b1; + text-align: center; + border-collapse: collapse; + font-size: 95%; +} +div.NavFrame + div.NavFrame { + border-top-style: none; + border-top-style: hidden; +} +div.NavFrame div.NavHead { + line-height: 1.6em; + font-weight: bold; + background-color: #ccf; + position: relative; +} +div.NavFrame p, +div.NavFrame div.NavContent, +div.NavFrame div.NavContent p { + font-size: 100%; +} +a.NavToggle { + position: absolute; + top: 0; + /* @noflip */ + right: 3px; + font-weight: normal; + font-size: 90%; +} + +/* Hatnotes and disambiguation notices */ +.hatnote { + font-style: italic; +} +.hatnote i { + font-style: normal; +} +div.hatnote { + /* @noflip */ + padding-left: 1.6em; + margin-bottom: 0.5em; +} +div.hatnote + div.hatnote { + margin-top: -0.5em; +} + +/* Allow transcluded pages to display in lists rather than a table. */ +.listify td { + display: list-item; +} +.listify tr { + display: block; +} +.listify table { + display: block; +} + +/* Geographical coordinates defaults. See [[Template:Coord/link]] + for how these are used. The classes "geo", "longitude", and + "latitude" are used by the [[Geo microformat]]. */ +/* TemplateStyles */ +.geo-default, .geo-dms, .geo-dec { + display: inline; +} +.geo-nondefault, .geo-multi-punct { + display: none; +} +.longitude, .latitude { + white-space: nowrap; +} + +/* User block messages */ +div.user-block { + padding: 5px; + margin-bottom: 0.5em; + border: 1px solid #a9a9a9; + background-color: #ffefd5; +} + +/* Prevent line breaks in silly places: + 1) Where desired + 2) Links when we don't want them to + 3) Bold "links" to the page itself */ +.nowrap, +.nowraplinks a, +.nowraplinks .selflink { + white-space: nowrap; +} +.nowrap pre { + white-space: pre; +} +/* But allow wrapping where desired: */ +.wrap, +.wraplinks a { + white-space: normal; +} + +/* For template documentation */ +/* TemplateStyles */ +.template-documentation { + clear: both; + margin: 1em 0 0 0; + border: 1px solid #a2a9b1; + background-color: #ecfcf4; + padding: 1em; +} + +/* Increase the height of the image upload box */ +#wpUploadDescription { + height: 13em; +} + +/* Minimum thumb width */ +.thumbinner { + min-width: 100px; +} + +/* Prevent floating boxes from overlapping any category listings, + file histories, edit previews, and edit [Show changes] views. */ +#mw-subcategories, #mw-pages, #mw-category-media, +#filehistory, #wikiPreview, #wikiDiff { + clear: both; +} + +/* Selectively hide headers in WikiProject banners */ +/* TemplateStyles */ +.wpb .wpb-header { + display: none; +} +.wpbs-inner .wpb .wpb-header { + display: block; /* for IE */ +} +.wpbs-inner .wpb .wpb-header { + display: table-row; /* for real browsers */ +} +.wpbs-inner .wpb-outside { + display: none; /* hide things that should only display outside shells */ +} + +/* Styling for Abuse Filter tags */ +.mw-tag-markers { + font-style: italic; + font-size: 90%; +} + +/* Hide stuff meant for accounts with special permissions. Made visible again in + [[MediaWiki:Group-checkuser.css]], [[MediaWiki:Group-sysop.css]], [[MediaWiki:Group-patroller.css]], + [[MediaWiki:Group-templateeditor.css]], [[MediaWiki:Group-extendedmover.css]], + [[MediaWiki:Group-extendedconfirmed.css]], and [[Mediawiki:Group-autoconfirmed.css]]. */ +.checkuser-show, +.sysop-show, +.patroller-show, +.templateeditor-show, +.extendedmover-show, +.extendedconfirmed-show, +.autoconfirmed-show, +.user-show { + display: none; +} + +/* Hide the redlink generated by {{Editnotice}}, + this overrides the ".sysop-show { display: none; }" above that applies + to the same link as well. See [[phab:T45013]] + + Hide the images in editnotices to keep them readable in VE view. + Long term, editnotices should become a core feature so that they can be designed responsive. */ +.ve-ui-mwNoticesPopupTool-item .editnotice-redlink, +.ve-ui-mwNoticesPopupTool-item .mbox-image, +.ve-ui-mwNoticesPopupTool-item .mbox-imageright { + display: none !important; +} + +/* Remove bullets when there are multiple edit page warnings */ +ul.permissions-errors > li { + list-style: none none; +} +ul.permissions-errors { + margin: 0; +} + +/* Generic class for Times-based serif, texhtml class for inline math */ +.times-serif, +span.texhtml { + font-family: "Nimbus Roman No9 L", "Times New Roman", Times, serif; + font-size: 118%; + line-height: 1; +} +span.texhtml { + white-space: nowrap; +} +span.texhtml span.texhtml { + font-size: 100%; +} +span.mwe-math-mathml-inline { + font-size: 118%; +} + +/* Force tabular and lining display for digits and texhtml */ +.digits, +.texhtml { + -moz-font-feature-settings: "lnum", "tnum", "kern" 0; + -webkit-font-feature-settings: "lnum", "tnum", "kern" 0; + font-feature-settings: "lnum", "tnum", "kern" 0; + font-variant-numeric: lining-nums tabular-nums; + font-kerning: none; +} + +/* Make <math display="block"> be left aligned with one space indent for compatibility with style conventions */ +.mwe-math-fallback-image-display, +.mwe-math-mathml-display { + margin-left: 1.6em !important; + margin-top: 0.6em; + margin-bottom: 0.6em; +} +.mwe-math-mathml-display math { + display: inline; +} + +/* Fix styling of transcluded prefindex tables */ +table#mw-prefixindex-list-table, +table#mw-prefixindex-nav-table { + width: 98%; +} + +/* Make it possible to hide checkboxes in <inputbox> */ +.inputbox-hidecheckboxes form .inputbox-element, +.inputbox-hidecheckboxes .mw-ui-checkbox { + display: none !important; +} + +/* Work-around for [[phab:T25965]] / [[phab:T100106]] (Kaltura advertisement) */ +.k-player .k-attribution { + visibility: hidden; +} + +/* Move 'play' button of video player to bottom left corner */ +.PopUpMediaTransform a .play-btn-large { + margin: 0; + top: auto; + right: auto; + bottom: 0; + left: 0; +} + +/* Hide FlaggedRevs notice UI when there are no pending changes */ +.flaggedrevs_draft_synced, +.flaggedrevs_stable_synced { + display: none; +} + +/* Force imgs in galleries to have borders by wrapping them in class=bordered-images */ +.bordered-images img { + border: solid #ddd 1px; +} + +/* Gallery styles background changes are restricted to screen view. In printing we should avoid applying backgrounds. */ +@media screen { + /* The backgrounds for galleries. */ + #content .gallerybox div.thumb { + /* Light gray padding */ + background-color: #f8f9fa; + } + + /* Put a chequered background behind images, only visible if they have transparency. + '.filehistory a img' and '#file img:hover' are handled by MediaWiki core (as of 1.19) */ + .gallerybox .thumb img { + background: #fff url(//upload.wikimedia.org/wikipedia/commons/5/5d/Checker-16x16.png) repeat; + } + /* But not on articles, user pages, portals or with opt-out. */ + .ns-0 .gallerybox .thumb img, + .ns-2 .gallerybox .thumb img, + .ns-100 .gallerybox .thumb img, + .nochecker .gallerybox .thumb img { + background-image: none; + } + +} + +/* Display "From Wikipedia, the free encyclopedia" in skins that support it, do not apply to print mode */ +@media screen { + #siteSub { + display: block; + } +} + 8zwo347exulgeii8sxmaq9osy42fmad + + + diff --git a/2019/Mediawiki_Navbox_Setup/pics/almostthere.png b/2019/Mediawiki_Navbox_Setup/pics/almostthere.png new file mode 100644 index 0000000..eec0c7f Binary files /dev/null and b/2019/Mediawiki_Navbox_Setup/pics/almostthere.png differ diff --git a/2019/Mediawiki_Navbox_Setup/pics/done.png b/2019/Mediawiki_Navbox_Setup/pics/done.png new file mode 100644 index 0000000..00c31c5 Binary files /dev/null and b/2019/Mediawiki_Navbox_Setup/pics/done.png differ diff --git a/2019/RAID_On_Gnulinux_Mdadm_Reference/docs/6.aux b/2019/RAID_On_Gnulinux_Mdadm_Reference/docs/6.aux new file mode 100644 index 0000000..87044fd --- /dev/null +++ b/2019/RAID_On_Gnulinux_Mdadm_Reference/docs/6.aux @@ -0,0 +1,8 @@ +\relax +\@writefile{toc}{\contentsline {section}{\numberline {1}Overview}{1}} +\@writefile{toc}{\contentsline {section}{\numberline {2}Details}{1}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Creation of RAID:}{1}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Details of RAID:}{1}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.3}Add Drive to RAID:}{2}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.4}Email Notifications on mdadm}{5}} +\@writefile{toc}{\contentsline {section}{\numberline {3}References}{5}} diff --git a/2019/RAID_On_Gnulinux_Mdadm_Reference/docs/6.log b/2019/RAID_On_Gnulinux_Mdadm_Reference/docs/6.log new file mode 100644 index 0000000..358e1a4 --- /dev/null +++ b/2019/RAID_On_Gnulinux_Mdadm_Reference/docs/6.log @@ -0,0 +1,386 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 4 MAY 2020 22:08 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2019/RAID_On_G +nulinux_Mdadm_Reference/docs/6.tex + +(/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2019/RAID_On_Gn +ulinux_Mdadm_Reference/docs/6.tex +LaTeX2e <2017/01/01> patch level 3 +Babel <3.9r> and hyphenation patterns for 3 language(s) loaded. +(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls +Document Class: article 2014/09/29 v1.4h Standard LaTeX document class +(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo +File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +(/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty +Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package xcolor Info: Driver file: pdftex.def on input line 225. + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2017/01/12 v0.06k Graphics/color for pdfTeX + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty +Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty +Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) +) +\Gread@gobject=\count87 +) +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. +Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352. +Package xcolor Info: Model `RGB' extended on input line 1364. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. +) +(/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty +Package: geometry 2010/09/12 v5.6 Page Geometry + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks14 +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2016/05/14 v3.1 Provides the ifpdf switch +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty +Package: ifvtex 2016/05/16 v1.6 Detect VTeX and its facilities (HO) +Package ifvtex Info: VTeX not detected. +) +(/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty +Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional +) +\Gm@cnth=\count88 +\Gm@cntv=\count89 +\c@Gm@tempcnt=\count90 +\Gm@bindingoffset=\dimen103 +\Gm@wd@mp=\dimen104 +\Gm@odd@mp=\dimen105 +\Gm@even@mp=\dimen106 +\Gm@layoutwidth=\dimen107 +\Gm@layoutheight=\dimen108 +\Gm@layouthoffset=\dimen109 +\Gm@layoutvoffset=\dimen110 +\Gm@dimlist=\toks15 +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2014/10/28 v1.0g Enhanced LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2016/10/09 v1.0u Standard LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: pdftex.def on input line 99. +) +\Gin@req@height=\dimen111 +\Gin@req@width=\dimen112 +) +(/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty +Package: caption 2016/02/21 v3.3-144 Customizing captions (AR) + +(/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty +Package: caption3 2016/05/22 v1.7-166 caption3 kernel (AR) +Package caption3 Info: TeX engine: e-TeX on input line 67. +\captionmargin=\dimen113 +\captionmargin@=\dimen114 +\captionwidth=\dimen115 +\caption@tempdima=\dimen116 +\caption@indent=\dimen117 +\caption@parindent=\dimen118 +\caption@hangindent=\dimen119 +) +\c@ContinuedFloat=\count91 +) (./6.aux) +\openout1 = `6.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. + +(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count92 +\scratchdimen=\dimen120 +\scratchbox=\box26 +\nofMPsegments=\count93 +\nofMParguments=\count94 +\everyMPshowfont=\toks16 +\MPscratchCnt=\count95 +\MPscratchDim=\dimen121 +\MPnumerator=\count96 +\makeMPintoPDFobject=\count97 +\everyMPtoPDFconversion=\toks17 +) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty +Package: pdftexcmds 2016/05/21 v0.22 Utility functions of pdfTeX for LuaTeX (HO +) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty +Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) +Package ifluatex Info: LuaTeX not detected. +) +Package pdftexcmds Info: LuaTeX not detected. +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode found. +) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty +Package: epstopdf-base 2016/05/15 v2.6 Base part for package epstopdf + +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty +Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty +Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO) +)) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty +Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty +Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty +Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) +Package etexcmds Info: Could not find \expanded. +(etexcmds) That can mean that you are not using pdfTeX 1.50 or +(etexcmds) that some package has redefined \expanded. +(etexcmds) In the latter case, load this package earlier. +))) +Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 +38. +Package grfext Info: Graphics extension search list: +(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE +G,.JBIG2,.JB2,.eps] +(grfext) \AppendGraphicsExtensions on input line 456. + +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv +e +)) +*geometry* detected driver: dvips +*geometry* verbose mode - [ preamble ] result: +* driver: dvips +* paper: custom +* layout: +* layoutoffset:(h,v)=(0.0pt,0.0pt) +* vratio: 1:1 +* modes: +* h-part:(L,W,R)=(54.2025pt, 325.215pt, 54.2025pt) +* v-part:(T,H,B)=(79.49689pt, 491.43622pt, 79.49689pt) +* \paperwidth=433.62pt +* \paperheight=650.43pt +* \textwidth=325.215pt +* \textheight=491.43622pt +* \oddsidemargin=-18.06749pt +* \evensidemargin=-18.06749pt +* \topmargin=-29.7731pt +* \headheight=12.0pt +* \headsep=25.0pt +* \topskip=11.0pt +* \footskip=30.0pt +* \marginparwidth=59.0pt +* \marginparsep=10.0pt +* \columnsep=10.0pt +* \skip\footins=10.0pt plus 4.0pt minus 2.0pt +* \hoffset=0.0pt +* \voffset=0.0pt +* \mag=1000 +* \@twocolumnfalse +* \@twosidefalse +* \@mparswitchfalse +* \@reversemarginfalse +* (1in=72.27pt=25.4mm, 1cm=28.453pt) + +Package caption Info: Begin \AtBeginDocument code. +Package caption Info: End \AtBeginDocument code. + +Underfull \hbox (badness 10000) in paragraph at lines 24--28 + + [] + +[1 +Non-PDF special ignored! + +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] +Overfull \hbox (36.95233pt too wide) in paragraph at lines 61--61 +[] \OT1/cmtt/m/n/10.95 1 8 17 1 active sync /de +v/sdb1[] + [] + + +Overfull \hbox (36.95233pt too wide) in paragraph at lines 61--61 +[] \OT1/cmtt/m/n/10.95 2 8 33 2 active sync /de +v/sdc1[] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 63--67 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 68--83 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 68--83 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 68--83 + + [] + + +Overfull \hbox (14.87413pt too wide) in paragraph at lines 68--83 +\OT1/cmr/m/n/10.95 to-copy-the-partition-layout-of-a-whole-disk-using-standard- +tools or aka + [] + +[2] +Overfull \hbox (71.44446pt too wide) in paragraph at lines 101--101 +[]\OT1/cmtt/m/n/10.95 sgdisk --backup=/partitions-backup-$(basename $source).sg +disk $source[] + [] + + +Overfull \hbox (48.4497pt too wide) in paragraph at lines 101--101 +[]\OT1/cmtt/m/n/10.95 sgdisk --backup=/partitions-backup-$(basename $dest).sgdi +sk $dest[] + [] + +[3] +Overfull \hbox (65.69577pt too wide) in paragraph at lines 136--136 +[] \OT1/cmtt/m/n/10.95 3 8 1 0 spare rebuilding + /dev/sda1[] + [] + + +Overfull \hbox (36.95233pt too wide) in paragraph at lines 136--136 +[] \OT1/cmtt/m/n/10.95 1 8 17 1 active sync /de +v/sdb1[] + [] + + +Overfull \hbox (36.95233pt too wide) in paragraph at lines 136--136 +[] \OT1/cmtt/m/n/10.95 2 8 33 2 active sync /de +v/sdc1[] + [] + + +Overfull \hbox (65.69577pt too wide) in paragraph at lines 149--149 +[] \OT1/cmtt/m/n/10.95 3 8 1 0 spare rebuilding + /dev/sda1[] + [] + + +Overfull \hbox (36.95233pt too wide) in paragraph at lines 149--149 +[] \OT1/cmtt/m/n/10.95 1 8 17 1 active sync /de +v/sdb1[] + [] + + +Overfull \hbox (36.95233pt too wide) in paragraph at lines 149--149 +[] \OT1/cmtt/m/n/10.95 2 8 33 2 active sync /de +v/sdc1[] + [] + + +Overfull \hbox (163.42346pt too wide) in paragraph at lines 167--167 +[]\OT1/cmtt/m/n/10.95 Personalities : [raid1] [linear] [multipath] [raid0] [rai +d6] [raid5] [raid4] [raid10][] + [] + +[4] +Overfull \hbox (238.1564pt too wide) in paragraph at lines 167--167 +[] \OT1/cmtt/m/n/10.95 [==>..................] recovery = 11.2% (6471936/ +57638912) finish=13.2min speed=64324K/sec[] + [] + + +Overfull \hbox (200.28224pt too wide) in paragraph at lines 175--178 +\OT1/cmr/m/n/10.95 (i cur-rently use ssmtp, see this link: https://wiki.zonemin +der.com/How[]to[]get[]ssmtp[]working[]with[]Zoneminder + [] + + +Overfull \hbox (5.74626pt too wide) in paragraph at lines 180--182 +[]\OT1/cmr/m/n/10.95 then edit /etc/mdadm/mdadm.conf to have your email in mail +addr + [] + + +Overfull \hbox (71.44446pt too wide) in paragraph at lines 205--205 +[]\OT1/cmtt/m/n/10.95 https://help.ubuntu.com/lts/serverguide/advanced-installa +tion.html.en[] + [] + + +Overfull \hbox (48.4497pt too wide) in paragraph at lines 205--205 +[]\OT1/cmtt/m/n/10.95 https://github.com/zfsonlinux/zfs/wiki/Debian-Stretch-Roo +t-on-ZFS[] + [] + + +Overfull \hbox (65.69577pt too wide) in paragraph at lines 205--205 +[]\OT1/cmtt/m/n/10.95 https://wiki.zoneminder.com/How_to_get_ssmtp_working_with +_Zoneminder[] + [] + +[5] (./6.aux) ) +Here is how much of TeX's memory you used: + 3486 strings out of 494945 + 53018 string characters out of 6181032 + 124333 words of memory out of 5000000 + 6774 multiletter control sequences out of 15000+600000 + 5626 words of font info for 21 fonts, out of 8000000 for 9000 + 14 hyphenation exceptions out of 8191 + 39i,5n,38p,456b,250s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on 6.pdf (5 pages, 74812 bytes). +PDF statistics: + 36 PDF objects out of 1000 (max. 8388607) + 24 compressed objects within 1 object stream + 0 named destinations out of 1000 (max. 500000) + 1 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/2019/RAID_On_Gnulinux_Mdadm_Reference/docs/6.pdf b/2019/RAID_On_Gnulinux_Mdadm_Reference/docs/6.pdf new file mode 100644 index 0000000..f8839a0 Binary files /dev/null and b/2019/RAID_On_Gnulinux_Mdadm_Reference/docs/6.pdf differ diff --git a/2019/RAID_On_Gnulinux_Mdadm_Reference/docs/6.tex b/2019/RAID_On_Gnulinux_Mdadm_Reference/docs/6.tex new file mode 100644 index 0000000..fcdfbfa --- /dev/null +++ b/2019/RAID_On_Gnulinux_Mdadm_Reference/docs/6.tex @@ -0,0 +1,206 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\usepackage{xcolor} +\usepackage[vcentering,dvips]{geometry} +\geometry{papersize={6in,9in},total={4.5in,6.8in}} +\title{\textbf{RAID on GnuLinux - Mdadm Reference}} +\usepackage{graphicx} +\usepackage{caption } +\author{Steak Electronics} +\date{07/31/19} +\begin{document} + +%\maketitle +\textcolor{green!60!blue!70}{ +\textbf{RAID on GnuLinux - Mdadm Reference}} +%\textbf{Todo} +%\tableofcontents +\textcolor{green!60!blue!70}{ +\section{Overview}} +There are a few options for software RAID on Gnu Linux. Among them is BtrFS and ZFS, however today I will focus on using mdadm. This is historically the oldest software raid, therefore should be better vetted, although its performance may be less of that of the first two mentioned - for simple servers, mdadm might be the most stable choice. + +\textcolor{green!60!blue!70}{ +\section{Details}} +I've worked with this in setting up some Core 2 Duo PCs, with 2 to 4 Sata HDDs. This will be a reference. Let's begin. +\\ +\\ +\textcolor{green!60!blue!70}{ +\subsection{Creation of RAID:}} +Will not be covered here (yet). You must create the partition tables. Create the raid with mdadm. mkfs.ext4 on the raid partition. Add mdadm to grub config. Reinstall grub. Details may be provided later. + +\textcolor{green!60!blue!70}{ +\subsection{Details of RAID:}} +\begin{verbatim} +root@advacoONE:/dev# sudo mdadm -D /dev/md127 +/dev/md127: + Version : 1.2 + Creation Time : Fri Feb 1 01:00:25 2019 + Raid Level : raid1 + Array Size : 57638912 (54.97 GiB 59.02 GB) + Used Dev Size : 57638912 (54.97 GiB 59.02 GB) + Raid Devices : 3 + Total Devices : 2 + Persistence : Superblock is persistent + + Update Time : Fri Feb 1 02:40:44 2019 + State : clean, degraded + Active Devices : 2 +Working Devices : 2 + Failed Devices : 0 + Spare Devices : 0 + + Name : devuan:root + UUID : 83a8dc03:802a4129:26322116:c2cfe1d4 + Events : 82 + + Number Major Minor RaidDevice State + - 0 0 0 removed + 1 8 17 1 active sync /dev/sdb1 + 2 8 33 2 active sync /dev/sdc1 +root@advacoONE:/dev#-- +\end{verbatim} + +so you can see, one was removed (it auto removes, when unplugged) +\\ +\\ +\textcolor{green!60!blue!70}{ +\subsection{Add Drive to RAID:}} +sudo mdadm --add /dev/md127 /dev/sda1 +\\ +\\ +NOTE2: If you setup 2 hdds, in a raid, and want to add a third, if you just --add, it will show up as a spare... +if you do mdadm --grow /dev/md127 -raid-devices=3 then the third might be active sync (what we want) +note that the --grow, seems to allow for parameter changes after you have already created the raid. you can also specify +the exact same command, raid-devices=3 in the setup of the raid (see install doc). Note that if you lose a drive, you can simply add it. +\\ +\\ +NOTE: don't worry about mkfs.ext4 on the raid members, after initial setup. The RAID will manage that. +\\ +\\ +NOTE: if you have a new drive and need to copy the hdd partition tables: +https://unix.stackexchange.com/questions/12986/how-to-copy-the-partition-layout-of-a-whole-disk-using-standard-tools +or aka + + +\begin{verbatim} +(FOR MBR ONLY) +Save: +sfdisk -d /dev/sda > part_table + +Restore: +sfdisk /dev/NEWHDD < part_table + +(FOR GPT:) +# Save MBR disks +sgdisk --backup=/partitions-backup-$(basename $source).sgdisk $source +sgdisk --backup=/partitions-backup-$(basename $dest).sgdisk $dest + +# Copy $source layout to $dest and regenerate GUIDs +sgdisk --replicate=$dest $source +sgdisk -G $dest +\end{verbatim} + + +\begin{verbatim} +root@advacoONE:/dev# mdadm --add /dev/md127 /dev/sda1 +mdadm: added /dev/sda1 +root@advacoONE:/dev# sudo mdadm -D /dev/md127 +/dev/md127: + Version : 1.2 + Creation Time : Fri Feb 1 01:00:25 2019 + Raid Level : raid1 + Array Size : 57638912 (54.97 GiB 59.02 GB) + Used Dev Size : 57638912 (54.97 GiB 59.02 GB) + Raid Devices : 3 + Total Devices : 3 + Persistence : Superblock is persistent + + Update Time : Fri Feb 1 02:41:43 2019 + State : clean, degraded, recovering + Active Devices : 2 +Working Devices : 3 + Failed Devices : 0 + Spare Devices : 1 + + Rebuild Status : 0% complete + + Name : devuan:root + UUID : 83a8dc03:802a4129:26322116:c2cfe1d4 + Events : 92 + + Number Major Minor RaidDevice State + 3 8 1 0 spare rebuilding /dev/sda1 + 1 8 17 1 active sync /dev/sdb1 + 2 8 33 2 active sync /dev/sdc1 +root@advacoONE:/dev# +\end{verbatim} +Looks good. +\begin{verbatim} + Rebuild Status : 6% complete + + Name : devuan:root + UUID : 83a8dc03:802a4129:26322116:c2cfe1d4 + Events : 103 + + Number Major Minor RaidDevice State + 3 8 1 0 spare rebuilding /dev/sda1 + 1 8 17 1 active sync /dev/sdb1 + 2 8 33 2 active sync /dev/sdc1 +\end{verbatim} + + +as it progresses, you see the RAID rebuilding. + + +\begin{verbatim} +watch -n1 cat /proc/mdstat + +Every 1.0s: cat /proc/mdstat +advacoONE: Fri Feb 1 02:43:24 2019 + +Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] +md127 : active raid1 sda1[3] sdb1[1] sdc1[2] + 57638912 blocks super 1.2 [3/2] [_UU] + [==>..................] recovery = 11.2% (6471936/57638912) finish=13.2min speed=64324K/sec + +unused devices: +\end{verbatim} + + +\textbf{WARNING:} Reinstall grub on the new drive again as well afterwards. + + +\textcolor{green!60!blue!70}{ +\subsection{Email Notifications on mdadm}} +Test emails on mdadm.. first configure email however you prefer (i currently use ssmtp, see this link: +https://wiki.zoneminder.com/How\_to\_get\_ssmtp\_working\_with\_Zoneminder +-- + + +then edit /etc/mdadm/mdadm.conf to have your email in mailaddr +then +\begin{verbatim} +sudo mdadm --monitor --scan --test --oneshot +\end{verbatim} +should send an email + + + + +https://ubuntuforums.org/showthread.php?t=1185134 +for more details on email sending + +\textcolor{green!60!blue!70}{ +\section{References}} +\begin{verbatim} +The section about degraded disks +https://help.ubuntu.com/lts/serverguide/advanced-installation.html.en + +General partition tips. +https://github.com/zfsonlinux/zfs/wiki/Debian-Stretch-Root-on-ZFS + +SSMTP email setup: +https://wiki.zoneminder.com/How_to_get_ssmtp_working_with_Zoneminder + wiki.zoneminder.com/SMS_Notifications +\end{verbatim} +\end{document} diff --git a/2019/RAID_On_Gnulinux_Mdadm_Reference/docs/6.tex~ b/2019/RAID_On_Gnulinux_Mdadm_Reference/docs/6.tex~ new file mode 100644 index 0000000..a002843 --- /dev/null +++ b/2019/RAID_On_Gnulinux_Mdadm_Reference/docs/6.tex~ @@ -0,0 +1,204 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\usepackage{xcolor} +\usepackage[vcentering,dvips]{geometry} +\geometry{papersize={6in,9in},total={4.5in,6.8in}} +\title{\textbf{RAID on GnuLinux - Mdadm Reference}} +\usepackage{graphicx} +\usepackage{caption } +\author{Steak Electronics} +\date{07/31/19} +\begin{document} + +%\maketitle +\textcolor{green!60!blue!70}{ +\textbf{RAID on GnuLinux - Mdadm Reference}} +%\textbf{Todo} +%\tableofcontents +\textcolor{green!60!blue!70}{ +\section{Overview}} +There are a few options for software RAID on Gnu Linux. Among them is BtrFS and ZFS, however today I will focus on using mdadm. This is historically the oldest software raid, therefore should be better vetted, although its performance may be less of that of the first two mentioned - for simple servers, mdadm might be the most stable choice. + +\textcolor{green!60!blue!70}{ +\section{Details}} +I've worked with this in setting up some Core 2 Duo PCs, with 2 to 4 Sata HDDs. This will be a reference. Let's begin. +\\ +\\ +\textcolor{green!60!blue!70}{ +\subsection{Creation of RAID:}} +Will not be covered here (yet). You must create the partition tables. Create the raid with mdadm. mkfs.ext4 on the raid partition. Add mdadm to grub config. Reinstall grub. Details may be provided later. + +\textcolor{green!60!blue!70}{ +\subsection{Details of RAID:}} +\begin{verbatim} +root@advacoONE:/dev# sudo mdadm -D /dev/md127 +/dev/md127: + Version : 1.2 + Creation Time : Fri Feb 1 01:00:25 2019 + Raid Level : raid1 + Array Size : 57638912 (54.97 GiB 59.02 GB) + Used Dev Size : 57638912 (54.97 GiB 59.02 GB) + Raid Devices : 3 + Total Devices : 2 + Persistence : Superblock is persistent + + Update Time : Fri Feb 1 02:40:44 2019 + State : clean, degraded + Active Devices : 2 +Working Devices : 2 + Failed Devices : 0 + Spare Devices : 0 + + Name : devuan:root + UUID : 83a8dc03:802a4129:26322116:c2cfe1d4 + Events : 82 + + Number Major Minor RaidDevice State + - 0 0 0 removed + 1 8 17 1 active sync /dev/sdb1 + 2 8 33 2 active sync /dev/sdc1 +root@advacoONE:/dev#-- +\end{verbatim} + +so you can see, one was removed (it auto removes, when unplugged) +\\ +\\ +\textcolor{green!60!blue!70}{ +\subsection{Add Drive to RAID:}} +sudo mdadm --add /dev/md127 /dev/sda1 +\\ +\\ +NOTE2: If you setup 2 hdds, in a raid, and want to add a third, if you just --add, it will show up as a spare... +if you do mdadm --grow /dev/md127 -raid-devices=3 then the third might be active sync (what we want) +note that the --grow, seems to allow for parameter changes after you have already created the raid. you can also specify +the exact same command, raid-devices=3 in the setup of the raid (see install doc). Note that if you lose a drive, you can simply add it. +\\ +\\ +NOTE: don't worry about mkfs.ext4 on the raid members, after initial setup. The RAID will manage that. +\\ +\\ +NOTE: if you have a new drive and need to copy the hdd partition tables: +https://unix.stackexchange.com/questions/12986/how-to-copy-the-partition-layout-of-a-whole-disk-using-standard-tools +or aka + + +\begin{verbatim} +(FOR MBR ONLY) +Save: +sfdisk -d /dev/sda > part_table + +Restore: +sfdisk /dev/NEWHDD < part_table + +(FOR GPT:) +# Save MBR disks +sgdisk --backup=/partitions-backup-$(basename $source).sgdisk $source +sgdisk --backup=/partitions-backup-$(basename $dest).sgdisk $dest + +# Copy $source layout to $dest and regenerate GUIDs +sgdisk --replicate=$dest $source +sgdisk -G $dest +\end{verbatim} + + +\begin{verbatim} +root@advacoONE:/dev# mdadm --add /dev/md127 /dev/sda1 +mdadm: added /dev/sda1 +root@advacoONE:/dev# sudo mdadm -D /dev/md127 +/dev/md127: + Version : 1.2 + Creation Time : Fri Feb 1 01:00:25 2019 + Raid Level : raid1 + Array Size : 57638912 (54.97 GiB 59.02 GB) + Used Dev Size : 57638912 (54.97 GiB 59.02 GB) + Raid Devices : 3 + Total Devices : 3 + Persistence : Superblock is persistent + + Update Time : Fri Feb 1 02:41:43 2019 + State : clean, degraded, recovering + Active Devices : 2 +Working Devices : 3 + Failed Devices : 0 + Spare Devices : 1 + + Rebuild Status : 0% complete + + Name : devuan:root + UUID : 83a8dc03:802a4129:26322116:c2cfe1d4 + Events : 92 + + Number Major Minor RaidDevice State + 3 8 1 0 spare rebuilding /dev/sda1 + 1 8 17 1 active sync /dev/sdb1 + 2 8 33 2 active sync /dev/sdc1 +root@advacoONE:/dev# +\end{verbatim} +Looks good. +\begin{verbatim} + Rebuild Status : 6% complete + + Name : devuan:root + UUID : 83a8dc03:802a4129:26322116:c2cfe1d4 + Events : 103 + + Number Major Minor RaidDevice State + 3 8 1 0 spare rebuilding /dev/sda1 + 1 8 17 1 active sync /dev/sdb1 + 2 8 33 2 active sync /dev/sdc1 +\end{verbatim} + + +as it progresses, you see the RAID rebuilding. + + +\begin{verbatim} +watch -n1 cat /proc/mdstat + +Every 1.0s: cat /proc/mdstat +advacoONE: Fri Feb 1 02:43:24 2019 + +Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] +md127 : active raid1 sda1[3] sdb1[1] sdc1[2] + 57638912 blocks super 1.2 [3/2] [_UU] + [==>..................] recovery = 11.2% (6471936/57638912) finish=13.2min speed=64324K/sec + +unused devices: +\end{verbatim} + + +\textbf{WARNING:} Reinstall grub on the new drive again as well afterwards. + +\subsection{Email Notifications on mdadm} +Test emails on mdadm.. first configure email however you prefer (i currently use ssmtp, see this link: +https://wiki.zoneminder.com/How\_to\_get\_ssmtp\_working\_with\_Zoneminder +-- + + +then edit /etc/mdadm/mdadm.conf to have your email in mailaddr +then +\begin{verbatim} +sudo mdadm --monitor --scan --test --oneshot +\end{verbatim} +should send an email + + + + +https://ubuntuforums.org/showthread.php?t=1185134 +for more details on email sending + +\textcolor{green!60!blue!70}{ +\section{References}} +\begin{verbatim} +The section about degraded disks +https://help.ubuntu.com/lts/serverguide/advanced-installation.html.en + +General partition tips. +https://github.com/zfsonlinux/zfs/wiki/Debian-Stretch-Root-on-ZFS + +SSMTP email setup: +https://wiki.zoneminder.com/How_to_get_ssmtp_working_with_Zoneminder + wiki.zoneminder.com/SMS_Notifications +\end{verbatim} +\end{document} diff --git a/2019/RAID_On_Gnulinux_Mdadm_Reference/docs/fin.pdf b/2019/RAID_On_Gnulinux_Mdadm_Reference/docs/fin.pdf index 6245a58..8989837 100644 Binary files a/2019/RAID_On_Gnulinux_Mdadm_Reference/docs/fin.pdf and b/2019/RAID_On_Gnulinux_Mdadm_Reference/docs/fin.pdf differ diff --git a/2019/Transmission_Primer/docs/10.aux b/2019/Transmission_Primer/docs/10.aux new file mode 100644 index 0000000..13eedff --- /dev/null +++ b/2019/Transmission_Primer/docs/10.aux @@ -0,0 +1,12 @@ +\relax +\@writefile{toc}{\contentsline {section}{\numberline {1}Overview}{1}} +\@writefile{toc}{\contentsline {section}{\numberline {2}Setup Notes}{1}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Setup Start}{2}} +\@writefile{toc}{\contentsline {section}{\numberline {3}What can go wrong}{2}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Changing transmission configs}{2}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}/var/lib/transmission/config/settings.json}{2}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}All Bittorrent traffic through Transmission}{3}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.3.1}Block WAN traffic}{3}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}RPC}{3}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.5}Crashes due to high torrent count}{3}} +\@writefile{toc}{\contentsline {section}{\numberline {4}Conclusion}{4}} diff --git a/2019/Transmission_Primer/docs/10.log b/2019/Transmission_Primer/docs/10.log new file mode 100644 index 0000000..c5a3e8c --- /dev/null +++ b/2019/Transmission_Primer/docs/10.log @@ -0,0 +1,292 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 17 JAN 2020 20:40 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2019/Transmiss +ion_Primer/docs/10.tex + +(/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2019/Transmissi +on_Primer/docs/10.tex +LaTeX2e <2017/01/01> patch level 3 +Babel <3.9r> and hyphenation patterns for 3 language(s) loaded. +(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls +Document Class: article 2014/09/29 v1.4h Standard LaTeX document class +(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo +File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +(/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty +Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package xcolor Info: Driver file: pdftex.def on input line 225. + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2017/01/12 v0.06k Graphics/color for pdfTeX + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty +Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty +Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) +) +\Gread@gobject=\count87 +) +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. +Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352. +Package xcolor Info: Model `RGB' extended on input line 1364. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. +) +(/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty +Package: geometry 2010/09/12 v5.6 Page Geometry + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks14 +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2016/05/14 v3.1 Provides the ifpdf switch +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty +Package: ifvtex 2016/05/16 v1.6 Detect VTeX and its facilities (HO) +Package ifvtex Info: VTeX not detected. +) +(/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty +Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional +) +\Gm@cnth=\count88 +\Gm@cntv=\count89 +\c@Gm@tempcnt=\count90 +\Gm@bindingoffset=\dimen103 +\Gm@wd@mp=\dimen104 +\Gm@odd@mp=\dimen105 +\Gm@even@mp=\dimen106 +\Gm@layoutwidth=\dimen107 +\Gm@layoutheight=\dimen108 +\Gm@layouthoffset=\dimen109 +\Gm@layoutvoffset=\dimen110 +\Gm@dimlist=\toks15 +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2014/10/28 v1.0g Enhanced LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2016/10/09 v1.0u Standard LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: pdftex.def on input line 99. +) +\Gin@req@height=\dimen111 +\Gin@req@width=\dimen112 +) +(/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty +Package: caption 2016/02/21 v3.3-144 Customizing captions (AR) + +(/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty +Package: caption3 2016/05/22 v1.7-166 caption3 kernel (AR) +Package caption3 Info: TeX engine: e-TeX on input line 67. +\captionmargin=\dimen113 +\captionmargin@=\dimen114 +\captionwidth=\dimen115 +\caption@tempdima=\dimen116 +\caption@indent=\dimen117 +\caption@parindent=\dimen118 +\caption@hangindent=\dimen119 +) +\c@ContinuedFloat=\count91 +) (./10.aux) +\openout1 = `10.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. + +(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count92 +\scratchdimen=\dimen120 +\scratchbox=\box26 +\nofMPsegments=\count93 +\nofMParguments=\count94 +\everyMPshowfont=\toks16 +\MPscratchCnt=\count95 +\MPscratchDim=\dimen121 +\MPnumerator=\count96 +\makeMPintoPDFobject=\count97 +\everyMPtoPDFconversion=\toks17 +) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty +Package: pdftexcmds 2016/05/21 v0.22 Utility functions of pdfTeX for LuaTeX (HO +) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty +Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) +Package ifluatex Info: LuaTeX not detected. +) +Package pdftexcmds Info: LuaTeX not detected. +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode found. +) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty +Package: epstopdf-base 2016/05/15 v2.6 Base part for package epstopdf + +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty +Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty +Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO) +)) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty +Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty +Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty +Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) +Package etexcmds Info: Could not find \expanded. +(etexcmds) That can mean that you are not using pdfTeX 1.50 or +(etexcmds) that some package has redefined \expanded. +(etexcmds) In the latter case, load this package earlier. +))) +Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 +38. +Package grfext Info: Graphics extension search list: +(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE +G,.JBIG2,.JB2,.eps] +(grfext) \AppendGraphicsExtensions on input line 456. + +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv +e +)) +*geometry* detected driver: dvips +*geometry* verbose mode - [ preamble ] result: +* driver: dvips +* paper: custom +* layout: +* layoutoffset:(h,v)=(0.0pt,0.0pt) +* vratio: 1:1 +* modes: +* h-part:(L,W,R)=(54.2025pt, 325.215pt, 54.2025pt) +* v-part:(T,H,B)=(79.49689pt, 491.43622pt, 79.49689pt) +* \paperwidth=433.62pt +* \paperheight=650.43pt +* \textwidth=325.215pt +* \textheight=491.43622pt +* \oddsidemargin=-18.06749pt +* \evensidemargin=-18.06749pt +* \topmargin=-29.7731pt +* \headheight=12.0pt +* \headsep=25.0pt +* \topskip=11.0pt +* \footskip=30.0pt +* \marginparwidth=59.0pt +* \marginparsep=10.0pt +* \columnsep=10.0pt +* \skip\footins=10.0pt plus 4.0pt minus 2.0pt +* \hoffset=0.0pt +* \voffset=0.0pt +* \mag=1000 +* \@twocolumnfalse +* \@twosidefalse +* \@mparswitchfalse +* \@reversemarginfalse +* (1in=72.27pt=25.4mm, 1cm=28.453pt) + +Package caption Info: Begin \AtBeginDocument code. +Package caption Info: End \AtBeginDocument code. +(./10.toc +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <10.95> on input line 3. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 3. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 3. +) +\tf@toc=\write3 +\openout3 = `10.toc'. + + +Overfull \hbox (8.75026pt too wide) in paragraph at lines 27--28 +\OT1/cmr/m/n/10.95 transmission-daemon. There is transmission-remote, and trans +mission- + [] + +[1 +Non-PDF special ignored! + +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] +Overfull \hbox (19.70627pt too wide) in paragraph at lines 46--46 +[]\OT1/cmtt/m/n/10.95 iptables -t nat -I PREROUTING -i eth0 -p tcp --dport 5200 +0 \[] + [] + + +Overfull \hbox (19.70627pt too wide) in paragraph at lines 46--46 +[]\OT1/cmtt/m/n/10.95 iptables -t nat -I PREROUTING -i eth0 -p udp --dport 5200 +0 \[] + [] + +[2] [3] +LaTeX Font Info: Try loading font information for OMS+cmr on input line 114. + + (/usr/share/texlive/texmf-dist/tex/latex/base/omscmr.fd +File: omscmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions +) +LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10.95> not available +(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 114. + [4] (./10.aux) ) +Here is how much of TeX's memory you used: + 3524 strings out of 494945 + 53499 string characters out of 6181032 + 122327 words of memory out of 5000000 + 6799 multiletter control sequences out of 15000+600000 + 8411 words of font info for 30 fonts, out of 8000000 for 9000 + 14 hyphenation exceptions out of 8191 + 39i,6n,38p,558b,204s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on 10.pdf (4 pages, 94832 bytes). +PDF statistics: + 41 PDF objects out of 1000 (max. 8388607) + 28 compressed objects within 1 object stream + 0 named destinations out of 1000 (max. 500000) + 1 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/2019/Transmission_Primer/docs/10.pdf b/2019/Transmission_Primer/docs/10.pdf new file mode 100644 index 0000000..166a776 Binary files /dev/null and b/2019/Transmission_Primer/docs/10.pdf differ diff --git a/2019/Transmission_Primer/docs/10.tex b/2019/Transmission_Primer/docs/10.tex new file mode 100644 index 0000000..177f4ec --- /dev/null +++ b/2019/Transmission_Primer/docs/10.tex @@ -0,0 +1,122 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\usepackage{xcolor} +\usepackage[vcentering,dvips]{geometry} +\geometry{papersize={6in,9in},total={4.5in,6.8in}} +\title{\textbf{Transmission Torrent Setup Notes}} +\usepackage{graphicx} +\usepackage{caption } +\author{Steak Electronics} +\date{2019} +\begin{document} + +%\maketitle + +\textbf{Transmission Bittorrent Primer} + +\vspace{0.2in} + +\emph{``Whomsoever diggeth a pit, shall fall in it'' - Marley,B.} + +\emph{(You reap what you sow)} + +\tableofcontents + +\textcolor{green!60!blue!70}{ +\section{Overview}} +Transmission is a Bittorrent server that can be deployed on a computer or dedicated seedbox. It's installable with apt-get install transmission-daemon. There is transmission-remote, and transmission-remote-gtk to view the torrents over the LAN. + +\textcolor{green!60!blue!70}{ +\section{Setup Notes}} +I setup transmission behind a VPN, and forward ports appropriately. In order to do this, I have an outbound VPN from my LAN that goes to a remote server, then the ports for transmission are open on the remote server. + +\textcolor{green!60!blue!70}{ +\subsection{Setup Start}} +Install openvpn road warrior from Nyr on github. This is deployed on the remote VPS. Create a client certificate and install that on the LAN seedbox. + +\vspace{0.2in} + +On server you need to forward ports: + +\begin{verbatim} +iptables -t nat -I PREROUTING -i eth0 -p tcp --dport 52000 \ +-j DNAT --to-destination 10.8.0.2:52000 +iptables -t nat -I PREROUTING -i eth0 -p udp --dport 52000 \ +-j DNAT --to-destination 10.8.0.2:52000 +\end{verbatim} +In fact, you probably only need one, but here we are opening TCP and UDP. This example assumes you are using the default transmission ports. It's advised to change the default ports. + +On transmission daemon client, you don't need anything (for iptables). The remote VPN server does all firewall routing. + +Test that the port is open in Transmision remote gtk's settings. If it's not, diagnose with tcpdump. + +\textcolor{green!60!blue!70}{ +\section{What can go wrong}} + +\textcolor{green!60!blue!70}{ +\subsection{Changing transmission configs}} +In order to change any settings.json of transmission, you must stop transmission. Otherwise, the running program will overwrite / ignore your changes. + +\textcolor{green!60!blue!70}{ +\subsection{/var/lib/transmission/config/settings.json}} +Make sure peer port is 52000, or whatever you set it to. +Disable random peer port (shouldn't be enabled by default). + +\vspace{0.2in} + +make sure bind-address ipv4 has your vpn address, or make it 0.0.0.0. +If you have it to a previous or incorrect ipv4 address, it will look like * (for all ports) in your \# netstat -ano , but it just won't work. \textbf{TRAP} + +\vspace{0.2in} + +\textcolor{green!60!blue!70}{ +\subsection{All Bittorrent traffic through Transmission}} +If your vpn for all the traffic is working correctly when you examine ifconfig you will see the packet numbers for eth0 and tun0 be comparable in numbers. + +if it seems like eth0 is moving more packets than tun0, your tunnel is not working +the torrent client is leaking. + +Verify it by doing either a netstat or more helpfully a tcpdump for the local interface + +\textcolor{green!60!blue!70}{ +\subsubsection{Block WAN traffic}} +You can block the WAN traffic that isn't from the VPN to the transmission daemon at the router. + +So wan - no vpn - router - seedbox -- BLOCK +and on top of that (insert for iptables, not append) + +Wan - yes vpn - router - seedbox -- ALLOW + +\textcolor{green!60!blue!70}{ +\subsection{RPC}} +RPC on transmission. This is the protocol that you can access transmission through from another machine. + +\textbf{Problem:} +Only works through http. If you want it on a VPS, you have a problem (It's not encrypted and passwords are in plain text). There's no way to access the Seedbox remotely (securely). + +\textbf{Solution:} +Use it through a VPN tunnel. e.g. Transmission-remote-gui. + +Force binding of RPC to be only the TUN IP address as well. This way RPC is not accessible from WAN. + +\textcolor{green!60!blue!70}{ +\subsection{Crashes due to high torrent count}} +I've used a Beaglebone with transmission, and eventually (after about 400 torrents) found instability. Transmission-daemon would crash. Instead, I moved onto x86 hardware, and the problems have mostly gone away. It's possible to tune transmission to connect to less peers, or have less torrents active if you are having stability problems. This lowers your seeding ability, but brings stability back. Ideally, you should use server motherboards / hardware. + +Another thing to consider is the SATA controller for your HD. If you are using a NAS, or external USB enclosure, there can be some controllers which perform more reliably. + +\textcolor{green!60!blue!70}{ +\section{Conclusion}} + + +Basically: +\begin{itemize} +\item install nyr on server, then make cert for client and setup +\item server, add two prerouting commands (just these two!) +\item client, double check transmission settings.json if necessary. +\item client, watch /var/log/transmission/, and verify the port is open via transmission-remote-gtk +\end{itemize} + + + +\end{document} diff --git a/2019/Transmission_Primer/docs/10.toc b/2019/Transmission_Primer/docs/10.toc new file mode 100644 index 0000000..f4745d3 --- /dev/null +++ b/2019/Transmission_Primer/docs/10.toc @@ -0,0 +1,11 @@ +\contentsline {section}{\numberline {1}Overview}{1} +\contentsline {section}{\numberline {2}Setup Notes}{1} +\contentsline {subsection}{\numberline {2.1}Setup Start}{2} +\contentsline {section}{\numberline {3}What can go wrong}{2} +\contentsline {subsection}{\numberline {3.1}Changing transmission configs}{2} +\contentsline {subsection}{\numberline {3.2}/var/lib/transmission/config/settings.json}{2} +\contentsline {subsection}{\numberline {3.3}All Bittorrent traffic through Transmission}{3} +\contentsline {subsubsection}{\numberline {3.3.1}Block WAN traffic}{3} +\contentsline {subsection}{\numberline {3.4}RPC}{3} +\contentsline {subsection}{\numberline {3.5}Crashes due to high torrent count}{3} +\contentsline {section}{\numberline {4}Conclusion}{4} diff --git a/2019/Transmission_Primer/docs/11.aux b/2019/Transmission_Primer/docs/11.aux new file mode 100644 index 0000000..13eedff --- /dev/null +++ b/2019/Transmission_Primer/docs/11.aux @@ -0,0 +1,12 @@ +\relax +\@writefile{toc}{\contentsline {section}{\numberline {1}Overview}{1}} +\@writefile{toc}{\contentsline {section}{\numberline {2}Setup Notes}{1}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Setup Start}{2}} +\@writefile{toc}{\contentsline {section}{\numberline {3}What can go wrong}{2}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Changing transmission configs}{2}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}/var/lib/transmission/config/settings.json}{2}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}All Bittorrent traffic through Transmission}{3}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.3.1}Block WAN traffic}{3}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}RPC}{3}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.5}Crashes due to high torrent count}{3}} +\@writefile{toc}{\contentsline {section}{\numberline {4}Conclusion}{4}} diff --git a/2019/Transmission_Primer/docs/11.log b/2019/Transmission_Primer/docs/11.log new file mode 100644 index 0000000..96ab391 --- /dev/null +++ b/2019/Transmission_Primer/docs/11.log @@ -0,0 +1,300 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 16 FEB 2020 23:14 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2019/Transmiss +ion_Primer/docs/11.tex + +(/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2019/Transmissi +on_Primer/docs/11.tex +LaTeX2e <2017/01/01> patch level 3 +Babel <3.9r> and hyphenation patterns for 3 language(s) loaded. +(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls +Document Class: article 2014/09/29 v1.4h Standard LaTeX document class +(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo +File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +(/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty +Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package xcolor Info: Driver file: pdftex.def on input line 225. + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2017/01/12 v0.06k Graphics/color for pdfTeX + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty +Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty +Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) +) +\Gread@gobject=\count87 +) +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. +Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352. +Package xcolor Info: Model `RGB' extended on input line 1364. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. +) +(/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty +Package: geometry 2010/09/12 v5.6 Page Geometry + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks14 +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2016/05/14 v3.1 Provides the ifpdf switch +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty +Package: ifvtex 2016/05/16 v1.6 Detect VTeX and its facilities (HO) +Package ifvtex Info: VTeX not detected. +) +(/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty +Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional +) +\Gm@cnth=\count88 +\Gm@cntv=\count89 +\c@Gm@tempcnt=\count90 +\Gm@bindingoffset=\dimen103 +\Gm@wd@mp=\dimen104 +\Gm@odd@mp=\dimen105 +\Gm@even@mp=\dimen106 +\Gm@layoutwidth=\dimen107 +\Gm@layoutheight=\dimen108 +\Gm@layouthoffset=\dimen109 +\Gm@layoutvoffset=\dimen110 +\Gm@dimlist=\toks15 +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2014/10/28 v1.0g Enhanced LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2016/10/09 v1.0u Standard LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: pdftex.def on input line 99. +) +\Gin@req@height=\dimen111 +\Gin@req@width=\dimen112 +) +(/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty +Package: caption 2016/02/21 v3.3-144 Customizing captions (AR) + +(/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty +Package: caption3 2016/05/22 v1.7-166 caption3 kernel (AR) +Package caption3 Info: TeX engine: e-TeX on input line 67. +\captionmargin=\dimen113 +\captionmargin@=\dimen114 +\captionwidth=\dimen115 +\caption@tempdima=\dimen116 +\caption@indent=\dimen117 +\caption@parindent=\dimen118 +\caption@hangindent=\dimen119 +) +\c@ContinuedFloat=\count91 +) (./11.aux) +\openout1 = `11.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. + +(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count92 +\scratchdimen=\dimen120 +\scratchbox=\box26 +\nofMPsegments=\count93 +\nofMParguments=\count94 +\everyMPshowfont=\toks16 +\MPscratchCnt=\count95 +\MPscratchDim=\dimen121 +\MPnumerator=\count96 +\makeMPintoPDFobject=\count97 +\everyMPtoPDFconversion=\toks17 +) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty +Package: pdftexcmds 2016/05/21 v0.22 Utility functions of pdfTeX for LuaTeX (HO +) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty +Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) +Package ifluatex Info: LuaTeX not detected. +) +Package pdftexcmds Info: LuaTeX not detected. +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode found. +) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty +Package: epstopdf-base 2016/05/15 v2.6 Base part for package epstopdf + +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty +Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty +Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO) +)) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty +Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty +Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty +Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) +Package etexcmds Info: Could not find \expanded. +(etexcmds) That can mean that you are not using pdfTeX 1.50 or +(etexcmds) that some package has redefined \expanded. +(etexcmds) In the latter case, load this package earlier. +))) +Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 +38. +Package grfext Info: Graphics extension search list: +(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE +G,.JBIG2,.JB2,.eps] +(grfext) \AppendGraphicsExtensions on input line 456. + +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv +e +)) +*geometry* detected driver: dvips +*geometry* verbose mode - [ preamble ] result: +* driver: dvips +* paper: custom +* layout: +* layoutoffset:(h,v)=(0.0pt,0.0pt) +* vratio: 1:1 +* modes: +* h-part:(L,W,R)=(54.2025pt, 325.215pt, 54.2025pt) +* v-part:(T,H,B)=(79.49689pt, 491.43622pt, 79.49689pt) +* \paperwidth=433.62pt +* \paperheight=650.43pt +* \textwidth=325.215pt +* \textheight=491.43622pt +* \oddsidemargin=-18.06749pt +* \evensidemargin=-18.06749pt +* \topmargin=-29.7731pt +* \headheight=12.0pt +* \headsep=25.0pt +* \topskip=11.0pt +* \footskip=30.0pt +* \marginparwidth=59.0pt +* \marginparsep=10.0pt +* \columnsep=10.0pt +* \skip\footins=10.0pt plus 4.0pt minus 2.0pt +* \hoffset=0.0pt +* \voffset=0.0pt +* \mag=1000 +* \@twocolumnfalse +* \@twosidefalse +* \@mparswitchfalse +* \@reversemarginfalse +* (1in=72.27pt=25.4mm, 1cm=28.453pt) + +Package caption Info: Begin \AtBeginDocument code. +Package caption Info: End \AtBeginDocument code. +(./11.toc +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <10.95> on input line 3. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 3. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 3. +) +\tf@toc=\write3 +\openout3 = `11.toc'. + + +Overfull \hbox (8.75026pt too wide) in paragraph at lines 27--28 +\OT1/cmr/m/n/10.95 transmission-daemon. There is transmission-remote, and trans +mission- + [] + +[1 +Non-PDF special ignored! + +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] +Overfull \hbox (19.70627pt too wide) in paragraph at lines 46--46 +[]\OT1/cmtt/m/n/10.95 iptables -t nat -I PREROUTING -i eth0 -p tcp --dport 5200 +0 \[] + [] + + +Overfull \hbox (19.70627pt too wide) in paragraph at lines 46--46 +[]\OT1/cmtt/m/n/10.95 iptables -t nat -I PREROUTING -i eth0 -p udp --dport 5200 +0 \[] + [] + +[2] +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <9> on input line 104. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <5> on input line 104. + [3] +LaTeX Font Info: Try loading font information for OMS+cmr on input line 114. + + (/usr/share/texlive/texmf-dist/tex/latex/base/omscmr.fd +File: omscmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions +) +LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10.95> not available +(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 114. + [4] (./11.aux) ) +Here is how much of TeX's memory you used: + 3532 strings out of 494945 + 53582 string characters out of 6181032 + 123327 words of memory out of 5000000 + 6804 multiletter control sequences out of 15000+600000 + 9323 words of font info for 33 fonts, out of 8000000 for 9000 + 14 hyphenation exceptions out of 8191 + 39i,8n,38p,688b,204s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on 11.pdf (4 pages, 122027 bytes). +PDF statistics: + 53 PDF objects out of 1000 (max. 8388607) + 37 compressed objects within 1 object stream + 0 named destinations out of 1000 (max. 500000) + 1 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/2019/Transmission_Primer/docs/11.pdf b/2019/Transmission_Primer/docs/11.pdf new file mode 100644 index 0000000..cc9e876 Binary files /dev/null and b/2019/Transmission_Primer/docs/11.pdf differ diff --git a/2019/Transmission_Primer/docs/11.tex b/2019/Transmission_Primer/docs/11.tex new file mode 100644 index 0000000..82538f2 --- /dev/null +++ b/2019/Transmission_Primer/docs/11.tex @@ -0,0 +1,122 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\usepackage{xcolor} +\usepackage[vcentering,dvips]{geometry} +\geometry{papersize={6in,9in},total={4.5in,6.8in}} +\title{\textbf{Transmission Torrent Setup Notes}} +\usepackage{graphicx} +\usepackage{caption } +\author{Steak Electronics} +\date{2019} +\begin{document} + +%\maketitle + +\textbf{Transmission Bittorrent Primer} + +\vspace{0.2in} + +\emph{``Whomsoever diggeth a pit, shall fall in it'' - Marley,B.} + +\emph{(You reap what you sow)} + +\tableofcontents + +\textcolor{green!60!blue!70}{ +\section{Overview}} +Transmission is a Bittorrent server that can be deployed on a computer or dedicated seedbox. It's installable with apt-get install transmission-daemon. There is transmission-remote, and transmission-remote-gtk to view the torrents over the LAN. + +\textcolor{green!60!blue!70}{ +\section{Setup Notes}} +I setup transmission behind a VPN, and forward ports appropriately. In order to do this, I have an outbound VPN from my LAN that goes to a remote server, then the ports for transmission are open on the remote server. + +\textcolor{green!60!blue!70}{ +\subsection{Setup Start}} +Install openvpn road warrior from Nyr on github. This is deployed on the remote VPS. Create a client certificate and install that on the LAN seedbox. + +\vspace{0.2in} + +On server you need to forward ports: + +\begin{verbatim} +iptables -t nat -I PREROUTING -i eth0 -p tcp --dport 52000 \ +-j DNAT --to-destination 10.8.0.2:52000 +iptables -t nat -I PREROUTING -i eth0 -p udp --dport 52000 \ +-j DNAT --to-destination 10.8.0.2:52000 +\end{verbatim} +In fact, you probably only need one, but here we are opening TCP and UDP. This example assumes you are using the default transmission ports. It's advised to change the default ports. + +On transmission daemon client, you don't need anything (for iptables). The remote VPN server does all firewall routing. + +Test that the port is open in Transmision remote gtk's settings. If it's not, diagnose with tcpdump. + +\textcolor{green!60!blue!70}{ +\section{What can go wrong}} + +\textcolor{green!60!blue!70}{ +\subsection{Changing transmission configs}} +In order to change any settings.json of transmission, you must stop transmission. Otherwise, the running program will overwrite / ignore your changes. + +\textcolor{green!60!blue!70}{ +\subsection{/var/lib/transmission/config/settings.json}} +Make sure peer port is 52000, or whatever you set it to. +Disable random peer port (shouldn't be enabled by default). + +\vspace{0.2in} + +make sure bind-address ipv4 has your vpn address, or make it 0.0.0.0. +If you have it to a previous or incorrect ipv4 address, it will look like * (for all ports) in your \# netstat -ano , but it just won't work. \textbf{TRAP} + +\vspace{0.2in} + +\textcolor{green!60!blue!70}{ +\subsection{All Bittorrent traffic through Transmission}} +If your vpn for all the traffic is working correctly when you examine ifconfig you will see the packet numbers for eth0 and tun0 be comparable in numbers. + +if it seems like eth0 is moving more packets than tun0, your tunnel is not working +the torrent client is leaking. + +Verify it by doing either a netstat or more helpfully a tcpdump for the local interface + +\textcolor{green!60!blue!70}{ +\subsubsection{Block WAN traffic}} +You can block the WAN traffic that isn't from the VPN to the transmission daemon at the router. + +So wan - no vpn - router - seedbox -- BLOCK +and on top of that (insert for iptables, not append) + +Wan - yes vpn - router - seedbox -- ALLOW + +\textcolor{green!60!blue!70}{ +\subsection{RPC}} +RPC on transmission. This is the protocol that you can access transmission through from another machine. + +\textbf{Problem:} +Only works through http. If you want it on a VPS, you have a problem (It's not encrypted and passwords are in plain text). There's no way to access the Seedbox remotely (securely). + +\textbf{Solution:} +Use it through a VPN tunnel. e.g. Transmission-remote-gui. + +Force binding of RPC to be only the TUN IP address as well. This way RPC is not accessible from WAN. + +\textcolor{green!60!blue!70}{ +\subsection{Crashes due to high torrent count}} +I've used a Beaglebone with transmission, and eventually (after about 400 torrents) found instability. Transmission-daemon would crash. Instead, I moved onto x86 hardware, and the problems have mostly gone away. It's possible to tune transmission to connect to less peers, or have less torrents active if you are having stability problems. This lowers your seeding ability, but brings stability back. Ideally, you should use server motherboards / hardware.\footnote{Babies first server lessons, and why a server is needed. RPI/Beagle is great, but it is not a server.} + +Another thing to consider is the SATA controller for your HD. If you are using a NAS, or external USB enclosure, there can be some controllers which perform more reliably. + +\textcolor{green!60!blue!70}{ +\section{Conclusion}} + + +Basically: +\begin{itemize} +\item install nyr on server, then make cert for client and setup +\item server, add two prerouting commands (just these two!) +\item client, double check transmission settings.json if necessary. +\item client, watch /var/log/transmission/, and verify the port is open via transmission-remote-gtk +\end{itemize} + + + +\end{document} diff --git a/2019/Transmission_Primer/docs/11.tex~ b/2019/Transmission_Primer/docs/11.tex~ new file mode 100644 index 0000000..cdf5485 --- /dev/null +++ b/2019/Transmission_Primer/docs/11.tex~ @@ -0,0 +1,122 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\usepackage{xcolor} +\usepackage[vcentering,dvips]{geometry} +\geometry{papersize={6in,9in},total={4.5in,6.8in}} +\title{\textbf{Transmission Torrent Setup Notes}} +\usepackage{graphicx} +\usepackage{caption } +\author{Steak Electronics} +\date{2019} +\begin{document} + +%\maketitle + +\textbf{Transmission Bittorrent Primer} + +\vspace{0.2in} + +\emph{``Whomsoever diggeth a pit, shall fall in it'' - Marley,B.} + +\emph{(You reap what you sow)} + +\tableofcontents + +\textcolor{green!60!blue!70}{ +\section{Overview}} +Transmission is a Bittorrent server that can be deployed on a computer or dedicated seedbox. It's installable with apt-get install transmission-daemon. There is transmission-remote, and transmission-remote-gtk to view the torrents over the LAN. + +\textcolor{green!60!blue!70}{ +\section{Setup Notes}} +I setup transmission behind a VPN, and forward ports appropriately. In order to do this, I have an outbound VPN from my LAN that goes to a remote server, then the ports for transmission are open on the remote server. + +\textcolor{green!60!blue!70}{ +\subsection{Setup Start}} +Install openvpn road warrior from Nyr on github. This is deployed on the remote VPS. Create a client certificate and install that on the LAN seedbox. + +\vspace{0.2in} + +On server you need to forward ports: + +\begin{verbatim} +iptables -t nat -I PREROUTING -i eth0 -p tcp --dport 52000 \ +-j DNAT --to-destination 10.8.0.2:52000 +iptables -t nat -I PREROUTING -i eth0 -p udp --dport 52000 \ +-j DNAT --to-destination 10.8.0.2:52000 +\end{verbatim} +In fact, you probably only need one, but here we are opening TCP and UDP. This example assumes you are using the default transmission ports. It's advised to change the default ports. + +On transmission daemon client, you don't need anything (for iptables). The remote VPN server does all firewall routing. + +Test that the port is open in Transmision remote gtk's settings. If it's not, diagnose with tcpdump. + +\textcolor{green!60!blue!70}{ +\section{What can go wrong}} + +\textcolor{green!60!blue!70}{ +\subsection{Changing transmission configs}} +In order to change any settings.json of transmission, you must stop transmission. Otherwise, the running program will overwrite / ignore your changes. + +\textcolor{green!60!blue!70}{ +\subsection{/var/lib/transmission/config/settings.json}} +Make sure peer port is 52000, or whatever you set it to. +Disable random peer port (shouldn't be enabled by default). + +\vspace{0.2in} + +make sure bind-address ipv4 has your vpn address, or make it 0.0.0.0. +If you have it to a previous or incorrect ipv4 address, it will look like * (for all ports) in your \# netstat -ano , but it just won't work. \textbf{TRAP} + +\vspace{0.2in} + +\textcolor{green!60!blue!70}{ +\subsection{All Bittorrent traffic through Transmission}} +If your vpn for all the traffic is working correctly when you examine ifconfig you will see the packet numbers for eth0 and tun0 be comparable in numbers. + +if it seems like eth0 is moving more packets than tun0, your tunnel is not working +the torrent client is leaking. + +Verify it by doing either a netstat or more helpfully a tcpdump for the local interface + +\textcolor{green!60!blue!70}{ +\subsubsection{Block WAN traffic}} +You can block the WAN traffic that isn't from the VPN to the transmission daemon at the router. + +So wan - no vpn - router - seedbox -- BLOCK +and on top of that (insert for iptables, not append) + +Wan - yes vpn - router - seedbox -- ALLOW + +\textcolor{green!60!blue!70}{ +\subsection{RPC}} +RPC on transmission. This is the protocol that you can access transmission through from another machine. + +\textbf{Problem:} +Only works through http. If you want it on a VPS, you have a problem (It's not encrypted and passwords are in plain text). There's no way to access the Seedbox remotely (securely). + +\textbf{Solution:} +Use it through a VPN tunnel. e.g. Transmission-remote-gui. + +Force binding of RPC to be only the TUN IP address as well. This way RPC is not accessible from WAN. + +\textcolor{green!60!blue!70}{ +\subsection{Crashes due to high torrent count}} +I've used a Beaglebone with transmission, and eventually (after about 400 torrents) found instability. Transmission-daemon would crash. Instead, I moved onto x86 hardware, and the problems have mostly gone away. It's possible to tune transmission to connect to less peers, or have less torrents active if you are having stability problems. This lowers your seeding ability, but brings stability back. Ideally, you should use server motherboards / hardware.\footnote{Babies first server lessons, and why a server is needed. RPI is great, but it is not a server.} + +Another thing to consider is the SATA controller for your HD. If you are using a NAS, or external USB enclosure, there can be some controllers which perform more reliably. + +\textcolor{green!60!blue!70}{ +\section{Conclusion}} + + +Basically: +\begin{itemize} +\item install nyr on server, then make cert for client and setup +\item server, add two prerouting commands (just these two!) +\item client, double check transmission settings.json if necessary. +\item client, watch /var/log/transmission/, and verify the port is open via transmission-remote-gtk +\end{itemize} + + + +\end{document} diff --git a/2019/Transmission_Primer/docs/11.toc b/2019/Transmission_Primer/docs/11.toc new file mode 100644 index 0000000..f4745d3 --- /dev/null +++ b/2019/Transmission_Primer/docs/11.toc @@ -0,0 +1,11 @@ +\contentsline {section}{\numberline {1}Overview}{1} +\contentsline {section}{\numberline {2}Setup Notes}{1} +\contentsline {subsection}{\numberline {2.1}Setup Start}{2} +\contentsline {section}{\numberline {3}What can go wrong}{2} +\contentsline {subsection}{\numberline {3.1}Changing transmission configs}{2} +\contentsline {subsection}{\numberline {3.2}/var/lib/transmission/config/settings.json}{2} +\contentsline {subsection}{\numberline {3.3}All Bittorrent traffic through Transmission}{3} +\contentsline {subsubsection}{\numberline {3.3.1}Block WAN traffic}{3} +\contentsline {subsection}{\numberline {3.4}RPC}{3} +\contentsline {subsection}{\numberline {3.5}Crashes due to high torrent count}{3} +\contentsline {section}{\numberline {4}Conclusion}{4} diff --git a/2019/Transmission_Primer/docs/12.aux b/2019/Transmission_Primer/docs/12.aux new file mode 100644 index 0000000..13eedff --- /dev/null +++ b/2019/Transmission_Primer/docs/12.aux @@ -0,0 +1,12 @@ +\relax +\@writefile{toc}{\contentsline {section}{\numberline {1}Overview}{1}} +\@writefile{toc}{\contentsline {section}{\numberline {2}Setup Notes}{1}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Setup Start}{2}} +\@writefile{toc}{\contentsline {section}{\numberline {3}What can go wrong}{2}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Changing transmission configs}{2}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}/var/lib/transmission/config/settings.json}{2}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}All Bittorrent traffic through Transmission}{3}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.3.1}Block WAN traffic}{3}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}RPC}{3}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.5}Crashes due to high torrent count}{3}} +\@writefile{toc}{\contentsline {section}{\numberline {4}Conclusion}{4}} diff --git a/2019/Transmission_Primer/docs/12.log b/2019/Transmission_Primer/docs/12.log new file mode 100644 index 0000000..d9a0693 --- /dev/null +++ b/2019/Transmission_Primer/docs/12.log @@ -0,0 +1,300 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 16 FEB 2020 23:15 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2019/Transmiss +ion_Primer/docs/12.tex + +(/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2019/Transmissi +on_Primer/docs/12.tex +LaTeX2e <2017/01/01> patch level 3 +Babel <3.9r> and hyphenation patterns for 3 language(s) loaded. +(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls +Document Class: article 2014/09/29 v1.4h Standard LaTeX document class +(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo +File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +(/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty +Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package xcolor Info: Driver file: pdftex.def on input line 225. + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2017/01/12 v0.06k Graphics/color for pdfTeX + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty +Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty +Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) +) +\Gread@gobject=\count87 +) +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. +Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352. +Package xcolor Info: Model `RGB' extended on input line 1364. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. +) +(/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty +Package: geometry 2010/09/12 v5.6 Page Geometry + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks14 +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2016/05/14 v3.1 Provides the ifpdf switch +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty +Package: ifvtex 2016/05/16 v1.6 Detect VTeX and its facilities (HO) +Package ifvtex Info: VTeX not detected. +) +(/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty +Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional +) +\Gm@cnth=\count88 +\Gm@cntv=\count89 +\c@Gm@tempcnt=\count90 +\Gm@bindingoffset=\dimen103 +\Gm@wd@mp=\dimen104 +\Gm@odd@mp=\dimen105 +\Gm@even@mp=\dimen106 +\Gm@layoutwidth=\dimen107 +\Gm@layoutheight=\dimen108 +\Gm@layouthoffset=\dimen109 +\Gm@layoutvoffset=\dimen110 +\Gm@dimlist=\toks15 +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2014/10/28 v1.0g Enhanced LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2016/10/09 v1.0u Standard LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: pdftex.def on input line 99. +) +\Gin@req@height=\dimen111 +\Gin@req@width=\dimen112 +) +(/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty +Package: caption 2016/02/21 v3.3-144 Customizing captions (AR) + +(/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty +Package: caption3 2016/05/22 v1.7-166 caption3 kernel (AR) +Package caption3 Info: TeX engine: e-TeX on input line 67. +\captionmargin=\dimen113 +\captionmargin@=\dimen114 +\captionwidth=\dimen115 +\caption@tempdima=\dimen116 +\caption@indent=\dimen117 +\caption@parindent=\dimen118 +\caption@hangindent=\dimen119 +) +\c@ContinuedFloat=\count91 +) (./12.aux) +\openout1 = `12.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. + +(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count92 +\scratchdimen=\dimen120 +\scratchbox=\box26 +\nofMPsegments=\count93 +\nofMParguments=\count94 +\everyMPshowfont=\toks16 +\MPscratchCnt=\count95 +\MPscratchDim=\dimen121 +\MPnumerator=\count96 +\makeMPintoPDFobject=\count97 +\everyMPtoPDFconversion=\toks17 +) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty +Package: pdftexcmds 2016/05/21 v0.22 Utility functions of pdfTeX for LuaTeX (HO +) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty +Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) +Package ifluatex Info: LuaTeX not detected. +) +Package pdftexcmds Info: LuaTeX not detected. +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode found. +) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty +Package: epstopdf-base 2016/05/15 v2.6 Base part for package epstopdf + +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty +Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty +Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO) +)) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty +Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty +Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty +Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) +Package etexcmds Info: Could not find \expanded. +(etexcmds) That can mean that you are not using pdfTeX 1.50 or +(etexcmds) that some package has redefined \expanded. +(etexcmds) In the latter case, load this package earlier. +))) +Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 +38. +Package grfext Info: Graphics extension search list: +(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE +G,.JBIG2,.JB2,.eps] +(grfext) \AppendGraphicsExtensions on input line 456. + +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv +e +)) +*geometry* detected driver: dvips +*geometry* verbose mode - [ preamble ] result: +* driver: dvips +* paper: custom +* layout: +* layoutoffset:(h,v)=(0.0pt,0.0pt) +* vratio: 1:1 +* modes: +* h-part:(L,W,R)=(54.2025pt, 325.215pt, 54.2025pt) +* v-part:(T,H,B)=(79.49689pt, 491.43622pt, 79.49689pt) +* \paperwidth=433.62pt +* \paperheight=650.43pt +* \textwidth=325.215pt +* \textheight=491.43622pt +* \oddsidemargin=-18.06749pt +* \evensidemargin=-18.06749pt +* \topmargin=-29.7731pt +* \headheight=12.0pt +* \headsep=25.0pt +* \topskip=11.0pt +* \footskip=30.0pt +* \marginparwidth=59.0pt +* \marginparsep=10.0pt +* \columnsep=10.0pt +* \skip\footins=10.0pt plus 4.0pt minus 2.0pt +* \hoffset=0.0pt +* \voffset=0.0pt +* \mag=1000 +* \@twocolumnfalse +* \@twosidefalse +* \@mparswitchfalse +* \@reversemarginfalse +* (1in=72.27pt=25.4mm, 1cm=28.453pt) + +Package caption Info: Begin \AtBeginDocument code. +Package caption Info: End \AtBeginDocument code. +(./12.toc +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <10.95> on input line 3. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 3. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 3. +) +\tf@toc=\write3 +\openout3 = `12.toc'. + + +Overfull \hbox (8.75026pt too wide) in paragraph at lines 27--28 +\OT1/cmr/m/n/10.95 transmission-daemon. There is transmission-remote, and trans +mission- + [] + +[1 +Non-PDF special ignored! + +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] +Overfull \hbox (19.70627pt too wide) in paragraph at lines 46--46 +[]\OT1/cmtt/m/n/10.95 iptables -t nat -I PREROUTING -i eth0 -p tcp --dport 5200 +0 \[] + [] + + +Overfull \hbox (19.70627pt too wide) in paragraph at lines 46--46 +[]\OT1/cmtt/m/n/10.95 iptables -t nat -I PREROUTING -i eth0 -p udp --dport 5200 +0 \[] + [] + +[2] +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <9> on input line 103. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <5> on input line 103. + [3] +LaTeX Font Info: Try loading font information for OMS+cmr on input line 113. + + (/usr/share/texlive/texmf-dist/tex/latex/base/omscmr.fd +File: omscmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions +) +LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10.95> not available +(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 113. + [4] (./12.aux) ) +Here is how much of TeX's memory you used: + 3532 strings out of 494945 + 53582 string characters out of 6181032 + 123327 words of memory out of 5000000 + 6804 multiletter control sequences out of 15000+600000 + 9323 words of font info for 33 fonts, out of 8000000 for 9000 + 14 hyphenation exceptions out of 8191 + 39i,8n,38p,688b,204s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on 12.pdf (4 pages, 122022 bytes). +PDF statistics: + 53 PDF objects out of 1000 (max. 8388607) + 37 compressed objects within 1 object stream + 0 named destinations out of 1000 (max. 500000) + 1 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/2019/Transmission_Primer/docs/12.pdf b/2019/Transmission_Primer/docs/12.pdf new file mode 100644 index 0000000..b60c26a Binary files /dev/null and b/2019/Transmission_Primer/docs/12.pdf differ diff --git a/2019/Transmission_Primer/docs/12.tex b/2019/Transmission_Primer/docs/12.tex new file mode 100644 index 0000000..70cbe69 --- /dev/null +++ b/2019/Transmission_Primer/docs/12.tex @@ -0,0 +1,121 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\usepackage{xcolor} +\usepackage[vcentering,dvips]{geometry} +\geometry{papersize={6in,9in},total={4.5in,6.8in}} +\title{\textbf{Transmission Torrent Setup Notes}} +\usepackage{graphicx} +\usepackage{caption } +\author{Steak Electronics} +\date{2019} +\begin{document} + +%\maketitle + +\textbf{Transmission Bittorrent Primer} + +\vspace{0.2in} + +\emph{``Whomsoever diggeth a pit, shall fall in it'' - Marley,B.} + +\emph{(You reap what you sow)} + +\tableofcontents + +\textcolor{green!60!blue!70}{ +\section{Overview}} +Transmission is a Bittorrent server that can be deployed on a computer or dedicated seedbox. It's installable with apt-get install transmission-daemon. There is transmission-remote, and transmission-remote-gtk to view the torrents over the LAN. + +\textcolor{green!60!blue!70}{ +\section{Setup Notes}} +I setup transmission behind a VPN, and forward ports appropriately. In order to do this, I have an outbound VPN from my LAN that goes to a remote server, then the ports for transmission are open on the remote server. + +\textcolor{green!60!blue!70}{ +\subsection{Setup Start}} +Install openvpn road warrior from Nyr on github. This is deployed on the remote VPS. Create a client certificate and install that on the LAN seedbox. + +\vspace{0.2in} + +On server you need to forward ports: + +\begin{verbatim} +iptables -t nat -I PREROUTING -i eth0 -p tcp --dport 52000 \ +-j DNAT --to-destination 10.8.0.2:52000 +iptables -t nat -I PREROUTING -i eth0 -p udp --dport 52000 \ +-j DNAT --to-destination 10.8.0.2:52000 +\end{verbatim} +In fact, you probably only need one, but here we are opening TCP and UDP. This example assumes you are using the default transmission ports. It's advised to change the default ports. + +On transmission daemon client, you don't need anything (for iptables). The remote VPN server does all firewall routing. + +Test that the port is open in Transmision remote gtk's settings. If it's not, diagnose with tcpdump. + +\textcolor{green!60!blue!70}{ +\section{What can go wrong}} + +\textcolor{green!60!blue!70}{ +\subsection{Changing transmission configs}} +In order to change any settings.json of transmission, you must stop transmission. Otherwise, the running program will overwrite / ignore your changes. + +\textcolor{green!60!blue!70}{ +\subsection{/var/lib/transmission/config/settings.json}} +Make sure peer port is 52000, or whatever you set it to. +Disable random peer port (shouldn't be enabled by default). + +\vspace{0.2in} + +make sure bind-address ipv4 has your vpn address, or make it 0.0.0.0. +If you have it to a previous or incorrect ipv4 address, it will look like * (for all ports) in your \# netstat -ano , but it just won't work. \textbf{TRAP} + +\vspace{0.2in} + +\textcolor{green!60!blue!70}{ +\subsection{All Bittorrent traffic through Transmission}} +If your vpn for all the traffic is working correctly when you examine ifconfig you will see the packet numbers for eth0 and tun0 be comparable in numbers. + +if it seems like eth0 is moving more packets than tun0, your tunnel is not working and the torrent client is leaking. + +Verify it by doing either a netstat or more helpfully a tcpdump for the local interface + +\textcolor{green!60!blue!70}{ +\subsubsection{Block WAN traffic}} +You can block the WAN traffic that isn't from the VPN to the transmission daemon at the router. + +So wan -- no vpn -- router -- seedbox -- BLOCK +and on top of that (insert for iptables, not append) + +Wan -- yes vpn -- router -- seedbox -- ALLOW + +\textcolor{green!60!blue!70}{ +\subsection{RPC}} +RPC on transmission. This is the protocol that you can access transmission through from another machine. + +\textbf{Problem:} +Only works through http. If you want it on a VPS, you have a problem (It's not encrypted and passwords are in plain text). There's no way to access the Seedbox remotely (securely). + +\textbf{Solution:} +Use it through a VPN tunnel. e.g. Transmission-remote-gui. + +Force binding of RPC to be only the TUN IP address as well. This way RPC is not accessible from WAN. + +\textcolor{green!60!blue!70}{ +\subsection{Crashes due to high torrent count}} +I've used a Beaglebone with transmission, and eventually (after about 400 torrents) found instability. Transmission-daemon would crash. Instead, I moved onto x86 hardware, and the problems have mostly gone away. It's possible to tune transmission to connect to less peers, or have less torrents active if you are having stability problems. This lowers your seeding ability, but brings stability back. Ideally, you should use server motherboards / hardware.\footnote{Babies first server lessons, and why a server is needed. RPI/Beagle is great, but it is not a server.} + +Another thing to consider is the SATA controller for your HD. If you are using a NAS, or external USB enclosure, there can be some controllers which perform more reliably. + +\textcolor{green!60!blue!70}{ +\section{Conclusion}} + + +Basically: +\begin{itemize} +\item install nyr on server, then make cert for client and setup +\item server, add two prerouting commands (just these two!) +\item client, double check transmission settings.json if necessary. +\item client, watch /var/log/transmission/, and verify the port is open via transmission-remote-gtk +\end{itemize} + + + +\end{document} diff --git a/2019/Transmission_Primer/docs/12.toc b/2019/Transmission_Primer/docs/12.toc new file mode 100644 index 0000000..f4745d3 --- /dev/null +++ b/2019/Transmission_Primer/docs/12.toc @@ -0,0 +1,11 @@ +\contentsline {section}{\numberline {1}Overview}{1} +\contentsline {section}{\numberline {2}Setup Notes}{1} +\contentsline {subsection}{\numberline {2.1}Setup Start}{2} +\contentsline {section}{\numberline {3}What can go wrong}{2} +\contentsline {subsection}{\numberline {3.1}Changing transmission configs}{2} +\contentsline {subsection}{\numberline {3.2}/var/lib/transmission/config/settings.json}{2} +\contentsline {subsection}{\numberline {3.3}All Bittorrent traffic through Transmission}{3} +\contentsline {subsubsection}{\numberline {3.3.1}Block WAN traffic}{3} +\contentsline {subsection}{\numberline {3.4}RPC}{3} +\contentsline {subsection}{\numberline {3.5}Crashes due to high torrent count}{3} +\contentsline {section}{\numberline {4}Conclusion}{4} diff --git a/2019/Transmission_Primer/docs/8.log b/2019/Transmission_Primer/docs/8.log index 3f77b1c..18f4250 100644 --- a/2019/Transmission_Primer/docs/8.log +++ b/2019/Transmission_Primer/docs/8.log @@ -1,4 +1,4 @@ -This is pdfTeX, Version 3.14159265-2.6-1.40.15 (TeX Live 2015/dev/Debian) (preloaded format=pdflatex 2018.11.28) 7 JUN 2019 12:33 +This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 20 DEC 2019 17:12 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -7,8 +7,8 @@ ion_Primer/docs/8.tex (/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2019/Transmissi on_Primer/docs/8.tex -LaTeX2e <2014/05/01> -Babel <3.9l> and hyphenation patterns for 2 languages loaded. +LaTeX2e <2017/01/01> patch level 3 +Babel <3.9r> and hyphenation patterns for 3 language(s) loaded. (/usr/share/texlive/texmf-dist/tex/latex/base/article.cls Document Class: article 2014/09/29 v1.4h Standard LaTeX document class (/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo @@ -27,31 +27,31 @@ File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option) \bibindent=\dimen102 ) (/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty -Package: graphicx 2014/04/25 v1.0g Enhanced LaTeX Graphics (DPC,SPQR) +Package: graphicx 2014/10/28 v1.0g Enhanced LaTeX Graphics (DPC,SPQR) (/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty -Package: keyval 2014/05/08 v1.15 key=value parser (DPC) +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) \KV@toks@=\toks14 ) (/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty -Package: graphics 2009/02/05 v1.0o Standard LaTeX Graphics (DPC,SPQR) +Package: graphics 2016/10/09 v1.0u Standard LaTeX Graphics (DPC,SPQR) (/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty -Package: trig 1999/03/16 v1.09 sin cos tan (DPC) +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) ) -(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/graphics.cfg -File: graphics.cfg 2010/04/23 v1.9 graphics configuration of TeX Live +(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration ) -Package graphics Info: Driver file: pdftex.def on input line 91. +Package graphics Info: Driver file: pdftex.def on input line 99. -(/usr/share/texlive/texmf-dist/tex/latex/pdftex-def/pdftex.def -File: pdftex.def 2011/05/27 v0.06d Graphics/color for pdfTeX +(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2017/01/12 v0.06k Graphics/color for pdfTeX (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty -Package: infwarerr 2010/04/08 v1.3 Providing info/warning/error messages (HO) +Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) ) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty -Package: ltxcmds 2011/11/09 v1.22 LaTeX kernel commands for general use (HO) +Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) ) \Gread@gobject=\count87 )) @@ -59,11 +59,11 @@ Package: ltxcmds 2011/11/09 v1.22 LaTeX kernel commands for general use (HO) \Gin@req@width=\dimen104 ) (/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty -Package: caption 2013/05/02 v3.3-89 Customizing captions (AR) +Package: caption 2016/02/21 v3.3-144 Customizing captions (AR) (/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty -Package: caption3 2013/05/02 v1.6-88 caption3 kernel (AR) -Package caption3 Info: TeX engine: e-TeX on input line 57. +Package: caption3 2016/05/22 v1.7-166 caption3 kernel (AR) +Package caption3 Info: TeX engine: e-TeX on input line 67. \captionmargin=\dimen105 \captionmargin@=\dimen106 \captionwidth=\dimen107 @@ -89,7 +89,7 @@ LaTeX Font Info: ... okay on input line 8. LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 8. LaTeX Font Info: ... okay on input line 8. -(/usr/share/texlive/texmf-dist/tex/context/base/supp-pdf.mkii +(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii [Loading MPS to PDF converter (version 2006.09.02).] \scratchcounter=\count89 \scratchdimen=\dimen112 @@ -103,16 +103,15 @@ LaTeX Font Info: ... okay on input line 8. \makeMPintoPDFobject=\count94 \everyMPtoPDFconversion=\toks16 ) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty -Package: pdftexcmds 2011/11/29 v0.20 Utility functions of pdfTeX for LuaTeX (HO +Package: pdftexcmds 2016/05/21 v0.22 Utility functions of pdfTeX for LuaTeX (HO ) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty -Package: ifluatex 2010/03/01 v1.3 Provides the ifluatex switch (HO) +Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) Package ifluatex Info: LuaTeX not detected. ) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty -Package: ifpdf 2011/01/30 v2.3 Provides the ifpdf switch (HO) -Package ifpdf Info: pdfTeX in PDF mode is detected. +Package: ifpdf 2016/05/14 v3.1 Provides the ifpdf switch ) Package pdftexcmds Info: LuaTeX not detected. Package pdftexcmds Info: \pdf@primitive is available. @@ -120,31 +119,33 @@ Package pdftexcmds Info: \pdf@ifprimitive is available. Package pdftexcmds Info: \pdfdraftmode found. ) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty -Package: epstopdf-base 2010/02/09 v2.5 Base part for package epstopdf +Package: epstopdf-base 2016/05/15 v2.6 Base part for package epstopdf (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty -Package: grfext 2010/08/19 v1.1 Manage graphics extensions (HO) +Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty -Package: kvdefinekeys 2011/04/07 v1.3 Define keys (HO) +Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO) )) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty -Package: kvoptions 2011/06/30 v3.11 Key value format for package options (HO) +Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty -Package: kvsetkeys 2012/04/25 v1.16 Key value parser (HO) +Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty -Package: etexcmds 2011/02/16 v1.5 Avoid name clashes with e-TeX commands (HO) +Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) Package etexcmds Info: Could not find \expanded. (etexcmds) That can mean that you are not using pdfTeX 1.50 or (etexcmds) that some package has redefined \expanded. (etexcmds) In the latter case, load this package earlier. ))) +Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 +38. Package grfext Info: Graphics extension search list: (grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE G,.JBIG2,.JB2,.eps] -(grfext) \AppendGraphicsExtensions on input line 452. +(grfext) \AppendGraphicsExtensions on input line 456. (/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv @@ -176,20 +177,20 @@ LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10.95> not available (Font) Font shape `OMS/cmsy/m/n' tried instead on input line 98. [3] (./8.aux) ) Here is how much of TeX's memory you used: - 2552 strings out of 495020 - 40638 string characters out of 6181323 - 94812 words of memory out of 5000000 - 5765 multiletter control sequences out of 15000+600000 + 2580 strings out of 494945 + 41181 string characters out of 6181032 + 95840 words of memory out of 5000000 + 5872 multiletter control sequences out of 15000+600000 8411 words of font info for 30 fonts, out of 8000000 for 9000 14 hyphenation exceptions out of 8191 - 38i,5n,38p,557b,146s stack positions out of 5000i,500n,10000p,200000b,80000s + 39i,5n,38p,557b,146s stack positions out of 5000i,500n,10000p,200000b,80000s -Output written on 8.pdf (3 pages, 93076 bytes). +Output written on 8.pdf (3 pages, 93067 bytes). PDF statistics: 38 PDF objects out of 1000 (max. 8388607) 26 compressed objects within 1 object stream diff --git a/2019/Transmission_Primer/docs/8.pdf b/2019/Transmission_Primer/docs/8.pdf index 5076875..88d034a 100644 Binary files a/2019/Transmission_Primer/docs/8.pdf and b/2019/Transmission_Primer/docs/8.pdf differ diff --git a/2019/Transmission_Primer/docs/9.aux b/2019/Transmission_Primer/docs/9.aux new file mode 100644 index 0000000..13eedff --- /dev/null +++ b/2019/Transmission_Primer/docs/9.aux @@ -0,0 +1,12 @@ +\relax +\@writefile{toc}{\contentsline {section}{\numberline {1}Overview}{1}} +\@writefile{toc}{\contentsline {section}{\numberline {2}Setup Notes}{1}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Setup Start}{2}} +\@writefile{toc}{\contentsline {section}{\numberline {3}What can go wrong}{2}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Changing transmission configs}{2}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}/var/lib/transmission/config/settings.json}{2}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}All Bittorrent traffic through Transmission}{3}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.3.1}Block WAN traffic}{3}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}RPC}{3}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.5}Crashes due to high torrent count}{3}} +\@writefile{toc}{\contentsline {section}{\numberline {4}Conclusion}{4}} diff --git a/2019/Transmission_Primer/docs/9.log b/2019/Transmission_Primer/docs/9.log new file mode 100644 index 0000000..dada9d6 --- /dev/null +++ b/2019/Transmission_Primer/docs/9.log @@ -0,0 +1,292 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 17 JAN 2020 20:39 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2019/Transmiss +ion_Primer/docs/9.tex + +(/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2019/Transmissi +on_Primer/docs/9.tex +LaTeX2e <2017/01/01> patch level 3 +Babel <3.9r> and hyphenation patterns for 3 language(s) loaded. +(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls +Document Class: article 2014/09/29 v1.4h Standard LaTeX document class +(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo +File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +(/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty +Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package xcolor Info: Driver file: pdftex.def on input line 225. + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2017/01/12 v0.06k Graphics/color for pdfTeX + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty +Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty +Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) +) +\Gread@gobject=\count87 +) +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. +Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352. +Package xcolor Info: Model `RGB' extended on input line 1364. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. +) +(/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty +Package: geometry 2010/09/12 v5.6 Page Geometry + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks14 +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2016/05/14 v3.1 Provides the ifpdf switch +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty +Package: ifvtex 2016/05/16 v1.6 Detect VTeX and its facilities (HO) +Package ifvtex Info: VTeX not detected. +) +(/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty +Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional +) +\Gm@cnth=\count88 +\Gm@cntv=\count89 +\c@Gm@tempcnt=\count90 +\Gm@bindingoffset=\dimen103 +\Gm@wd@mp=\dimen104 +\Gm@odd@mp=\dimen105 +\Gm@even@mp=\dimen106 +\Gm@layoutwidth=\dimen107 +\Gm@layoutheight=\dimen108 +\Gm@layouthoffset=\dimen109 +\Gm@layoutvoffset=\dimen110 +\Gm@dimlist=\toks15 +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2014/10/28 v1.0g Enhanced LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2016/10/09 v1.0u Standard LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: pdftex.def on input line 99. +) +\Gin@req@height=\dimen111 +\Gin@req@width=\dimen112 +) +(/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty +Package: caption 2016/02/21 v3.3-144 Customizing captions (AR) + +(/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty +Package: caption3 2016/05/22 v1.7-166 caption3 kernel (AR) +Package caption3 Info: TeX engine: e-TeX on input line 67. +\captionmargin=\dimen113 +\captionmargin@=\dimen114 +\captionwidth=\dimen115 +\caption@tempdima=\dimen116 +\caption@indent=\dimen117 +\caption@parindent=\dimen118 +\caption@hangindent=\dimen119 +) +\c@ContinuedFloat=\count91 +) (./9.aux) +\openout1 = `9.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 11. +LaTeX Font Info: ... okay on input line 11. + +(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count92 +\scratchdimen=\dimen120 +\scratchbox=\box26 +\nofMPsegments=\count93 +\nofMParguments=\count94 +\everyMPshowfont=\toks16 +\MPscratchCnt=\count95 +\MPscratchDim=\dimen121 +\MPnumerator=\count96 +\makeMPintoPDFobject=\count97 +\everyMPtoPDFconversion=\toks17 +) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty +Package: pdftexcmds 2016/05/21 v0.22 Utility functions of pdfTeX for LuaTeX (HO +) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty +Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) +Package ifluatex Info: LuaTeX not detected. +) +Package pdftexcmds Info: LuaTeX not detected. +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode found. +) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty +Package: epstopdf-base 2016/05/15 v2.6 Base part for package epstopdf + +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty +Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty +Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO) +)) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty +Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty +Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty +Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) +Package etexcmds Info: Could not find \expanded. +(etexcmds) That can mean that you are not using pdfTeX 1.50 or +(etexcmds) that some package has redefined \expanded. +(etexcmds) In the latter case, load this package earlier. +))) +Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 +38. +Package grfext Info: Graphics extension search list: +(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE +G,.JBIG2,.JB2,.eps] +(grfext) \AppendGraphicsExtensions on input line 456. + +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv +e +)) +*geometry* detected driver: dvips +*geometry* verbose mode - [ preamble ] result: +* driver: dvips +* paper: custom +* layout: +* layoutoffset:(h,v)=(0.0pt,0.0pt) +* vratio: 1:1 +* modes: +* h-part:(L,W,R)=(54.2025pt, 325.215pt, 54.2025pt) +* v-part:(T,H,B)=(79.49689pt, 491.43622pt, 79.49689pt) +* \paperwidth=433.62pt +* \paperheight=650.43pt +* \textwidth=325.215pt +* \textheight=491.43622pt +* \oddsidemargin=-18.06749pt +* \evensidemargin=-18.06749pt +* \topmargin=-29.7731pt +* \headheight=12.0pt +* \headsep=25.0pt +* \topskip=11.0pt +* \footskip=30.0pt +* \marginparwidth=59.0pt +* \marginparsep=10.0pt +* \columnsep=10.0pt +* \skip\footins=10.0pt plus 4.0pt minus 2.0pt +* \hoffset=0.0pt +* \voffset=0.0pt +* \mag=1000 +* \@twocolumnfalse +* \@twosidefalse +* \@mparswitchfalse +* \@reversemarginfalse +* (1in=72.27pt=25.4mm, 1cm=28.453pt) + +Package caption Info: Begin \AtBeginDocument code. +Package caption Info: End \AtBeginDocument code. +(./9.toc +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <10.95> on input line 3. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 3. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 3. +) +\tf@toc=\write3 +\openout3 = `9.toc'. + + +Overfull \hbox (8.75026pt too wide) in paragraph at lines 27--28 +\OT1/cmr/m/n/10.95 transmission-daemon. There is transmission-remote, and trans +mission- + [] + +[1 +Non-PDF special ignored! + +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] +Overfull \hbox (19.70627pt too wide) in paragraph at lines 46--46 +[]\OT1/cmtt/m/n/10.95 iptables -t nat -I PREROUTING -i eth0 -p tcp --dport 5200 +0 \[] + [] + + +Overfull \hbox (19.70627pt too wide) in paragraph at lines 46--46 +[]\OT1/cmtt/m/n/10.95 iptables -t nat -I PREROUTING -i eth0 -p udp --dport 5200 +0 \[] + [] + +[2] [3] +LaTeX Font Info: Try loading font information for OMS+cmr on input line 114. + + (/usr/share/texlive/texmf-dist/tex/latex/base/omscmr.fd +File: omscmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions +) +LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10.95> not available +(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 114. + [4] (./9.aux) ) +Here is how much of TeX's memory you used: + 3524 strings out of 494945 + 53488 string characters out of 6181032 + 122327 words of memory out of 5000000 + 6799 multiletter control sequences out of 15000+600000 + 8411 words of font info for 30 fonts, out of 8000000 for 9000 + 14 hyphenation exceptions out of 8191 + 39i,6n,38p,557b,204s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on 9.pdf (4 pages, 95044 bytes). +PDF statistics: + 41 PDF objects out of 1000 (max. 8388607) + 28 compressed objects within 1 object stream + 0 named destinations out of 1000 (max. 500000) + 1 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/2019/Transmission_Primer/docs/9.pdf b/2019/Transmission_Primer/docs/9.pdf new file mode 100644 index 0000000..fcb9b14 Binary files /dev/null and b/2019/Transmission_Primer/docs/9.pdf differ diff --git a/2019/Transmission_Primer/docs/9.tex b/2019/Transmission_Primer/docs/9.tex new file mode 100644 index 0000000..4dd7eab --- /dev/null +++ b/2019/Transmission_Primer/docs/9.tex @@ -0,0 +1,122 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\usepackage{xcolor} +\usepackage[vcentering,dvips]{geometry} +\geometry{papersize={6in,9in},total={4.5in,6.8in}} +\title{\textbf{Transmission Torrent Setup Notes}} +\usepackage{graphicx} +\usepackage{caption } +\author{Steak Electronics} +\date{2019} +\begin{document} + +%\maketitle + +\textbf{Transmission Bittorrent Primer} + +\vspace{0.2in} + +\emph{``Whomsoever diggeth a pit, shall fall in it'' - Marley,B.} + +\emph{(You reap what you sow)} + +\tableofcontents + +\textcolor{green!60!blue!70}{ +\section{Overview}} +Transmission is a Bittorrent server that can be deployed on a computer or dedicated seedbox. It's installable with apt-get install transmission-daemon. There is transmission-remote, and transmission-remote-gtk to view the torrents over the LAN. + +\textcolor{green!60!blue!70}{ +\section{Setup Notes}} +I setup transmission behind a VPN, and forward ports appropriately. In order to do this, I have an outbound VPN from my LAN that goes to a remote server, then the ports for transmission are open on the remote server. + +\textcolor{green!60!blue!70}{ +\subsection{Setup Start}} +Install openvpn road warrior from Nyr on github. This is deployed on the remote VPS. Create a client certificate and install that on the LAN seedbox. + +\vspace{0.2in} + +On server you need to forward ports: + +\begin{verbatim} +iptables -t nat -I PREROUTING -i eth0 -p tcp --dport 52000 \ +-j DNAT --to-destination 10.8.0.2:52000 +iptables -t nat -I PREROUTING -i eth0 -p udp --dport 52000 \ +-j DNAT --to-destination 10.8.0.2:52000 +\end{verbatim} +In fact, you probably only need one, but here we are opening TCP and UDP. This example assumes you are using the default transmission ports. It's advised to change the default ports. + +On transmission daemon client, you don't need anything (for iptables). The remote VPN server does all firewall routing. + +Test that the port is open in Transmision remote gtk's settings. If it's not, diagnose with tcpdump. + +\textcolor{green!60!blue!70}{ +\section{What can go wrong}} + +\textcolor{green!60!blue!70}{ +\subsection{Changing transmission configs}} +In order to change any settings.json of transmission, you must stop transmission. Otherwise, the running program will overwrite / ignore your changes. + +\textcolor{green!60!blue!70}{ +\subsection{/var/lib/transmission/config/settings.json}} +Make sure peer port is 52000, or whatever you set it to. +Disable random peer port (shouldn't be enabled by default). + +\vspace{0.2in} + +make sure bind-address ipv4 has your vpn address, or make it 0.0.0.0. +If you have it to a previous or incorrect ipv4 address, it will look like * (for all ports) in your \# netstat -ano , but it just won't work. \textbf{TRAP} + +\vspace{0.2in} + +\textcolor{green!60!blue!70}{ +\subsection{All Bittorrent traffic through Transmission}} +If your vpn for all the traffic is working correctly when you examine ifconfig you will see the packet numbers for eth0 and tun0 be comparable in numbers. + +if it seems like eth0 is moving more packets than tun0, your tunnel is not working +the torrent client is leaking. + +Verify it by doing either a netstat or more helpfully a tcpdump for the local interface + +\textcolor{green!60!blue!70}{ +\subsubsection{Block WAN traffic}} +You can block the WAN traffic that isn't from the VPN to the transmission daemon at the router. + +So wan > no vpn > router > seedbox -- BLOCK +and on top of that (insert for iptables, not append) + +Wan > yes vpn > router > seedbox -- ALLOW + +\textcolor{green!60!blue!70}{ +\subsection{RPC}} +RPC on transmission. This is the protocol that you can access transmission through from another machine. + +\textbf{Problem:} +Only works through http. If you want it on a VPS, you have a problem (It's not encrypted and passwords are in plain text). There's no way to access the Seedbox remotely (securely). + +\textbf{Solution:} +Use it through a VPN tunnel. e.g. Transmission-remote-gui. + +Force binding of RPC to be only the TUN IP address as well. This way RPC is not accessible from WAN. + +\textcolor{green!60!blue!70}{ +\subsection{Crashes due to high torrent count}} +I've used a Beaglebone with transmission, and eventually (after about 400 torrents) found instability. Transmission-daemon would crash. Instead, I moved onto x86 hardware, and the problems have mostly gone away. It's possible to tune transmission to connect to less peers, or have less torrents active if you are having stability problems. This lowers your seeding ability, but brings stability back. Ideally, you should use server motherboards / hardware. + +Another thing to consider is the SATA controller for your HD. If you are using a NAS, or external USB enclosure, there can be some controllers which perform more reliably. + +\textcolor{green!60!blue!70}{ +\section{Conclusion}} + + +Basically: +\begin{itemize} +\item install nyr on server, then make cert for client and setup +\item server, add two prerouting commands (just these two!) +\item client, double check transmission settings.json if necessary. +\item client, watch /var/log/transmission/, and verify the port is open via transmission-remote-gtk +\end{itemize} + + + +\end{document} diff --git a/2019/Transmission_Primer/docs/9.tex~ b/2019/Transmission_Primer/docs/9.tex~ new file mode 100644 index 0000000..890af79 --- /dev/null +++ b/2019/Transmission_Primer/docs/9.tex~ @@ -0,0 +1,120 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\usepackage{xcolor} +\usepackage[vcentering,dvips]{geometry} +\geometry{papersize={6in,9in},total={4.5in,6.8in}} +\title{\textbf{Transmission Torrent Setup Notes}} +\usepackage{graphicx} +\usepackage{caption } +\author{Steak Electronics} +\date{2019} +\begin{document} + +%\maketitle + +\textbf{Transmission Bittorrent Primer} + +\vspace{0.2in} + +\emph{Whomsoever diggeth a pit, shall fall in it.} + +\emph{(You reap what you sow)} + +\tableofcontents + +\textcolor{green!60!blue!70}{ +\section{Overview}} +Transmission is a Bittorrent server that can be deployed on a computer or dedicated seedbox. It's installable with apt-get install transmission-daemon. There is transmission-remote, and transmission-remote-gtk to view the torrents over the LAN. + +\textcolor{green!60!blue!70}{ +\section{Setup Notes}} +I setup transmission behind a VPN, and forward ports appropriately. In order to do this, I have an outbound VPN from my LAN that goes to a remote server, then the ports for transmission are open on the remote server. + +\textcolor{green!60!blue!70}{ +\subsection{Setup Start}} +Install openvpn road warrior from Nyr on github. This is deployed on the remote VPS. Create a client certificate and install that on the LAN seedbox. + +\vspace{0.2in} + +On server you need to forward ports: + +\begin{verbatim} +iptables -t nat -I PREROUTING -i eth0 -p tcp --dport 52000 \ +-j DNAT --to-destination 10.8.0.2:52000 +iptables -t nat -I PREROUTING -i eth0 -p udp --dport 52000 \ +-j DNAT --to-destination 10.8.0.2:52000 +\end{verbatim} +In fact, you probably only need one, but here we are opening TCP and UDP. This example assumes you are using the default transmission ports. It's advised to change the default ports. + +On transmission daemon client, you don't need anything (for iptables). The remote VPN server does all firewall routing. + +Test that the port is open in Transmision remote gtk's settings. If it's not, diagnose with tcpdump. + +\textcolor{green!60!blue!70}{ +\section{What can go wrong}} + +\textcolor{green!60!blue!70}{ +\subsection{Changing transmission configs}} +In order to change any settings.json of transmission, you must stop transmission. Otherwise, the running program will overwrite / ignore your changes. + +\textcolor{green!60!blue!70}{ +\subsection{/var/lib/transmission/config/settings.json}} +Make sure peer port is 52000, or whatever you set it to. +Disable random peer port (shouldn't be enabled by default). + +\vspace{0.2in} + +make sure bind-address ipv4 has your vpn address, or make it 0.0.0.0. +If you have it to a previous or incorrect ipv4 address, it will look like * (for all ports) in your \# netstat -ano , but it just won't work. \textbf{TRAP} + +\vspace{0.2in} + +\textcolor{green!60!blue!70}{ +\subsection{All Bittorrent traffic through Transmission}} +If your vpn for all the traffic is working correctly when you examine ifconfig you will see the packet numbers for eth0 and tun0 be comparable in numbers. + +if it seems like eth0 is moving more packets than tun0, your tunnel is not working +the torrent client is leaking. + +Verify it by doing either a netstat or more helpfully a tcpdump for the local interface + +\textcolor{green!60!blue!70}{ +\subsubsection{Block WAN traffic}} +You can block the WAN traffic that isn't from the VPN to the transmission daemon at the router. + +So wan > no vpn > router > seedbox -- BLOCK +and on top of that (insert for iptables, not append) + +Wan > yes vpn > router > seedbox -- ALLOW + +\textcolor{green!60!blue!70}{ +\subsection{RPC}} +RPC on transmission. This is the protocol that you can access transmission through from another machine. + +\textbf{Problem:} +Only works through http. If you want it on a VPS, you have a problem (It's not encrypted and passwords are in plain text). There's no way to access the Seedbox remotely (securely). + +\textbf{Solution:} +Use it through a VPN tunnel. e.g. Transmission-remote-gui. + +Force binding of RPC to be only the TUN IP address as well. This way RPC is not accessible from WAN. + +\textcolor{green!60!blue!70}{ +\subsection{Crashes due to high torrent count}} +I've used a Beaglebone with transmission, and eventually (after about 400 torrents) found instability. Transmission-daemon would crash. Instead, I moved onto x86 hardware, and the problems have mostly gone away. It's possible to tune transmission to connect to less peers, or have less torrents active if you are having stability problems. This lowers your seeding ability, but brings stability back. Ideally, you should use server motherboards / hardware. + +\textcolor{green!60!blue!70}{ +\section{Conclusion}} + + +Basically: +\begin{itemize} +\item install nyr on server, then make cert for client and setup +\item server, add two prerouting commands (just these two!) +\item client, double check transmission settings.json if necessary. +\item client, watch /var/log/transmission/, and verify the port is open via transmission-remote-gtk +\end{itemize} + + + +\end{document} diff --git a/2019/Transmission_Primer/docs/9.toc b/2019/Transmission_Primer/docs/9.toc new file mode 100644 index 0000000..f4745d3 --- /dev/null +++ b/2019/Transmission_Primer/docs/9.toc @@ -0,0 +1,11 @@ +\contentsline {section}{\numberline {1}Overview}{1} +\contentsline {section}{\numberline {2}Setup Notes}{1} +\contentsline {subsection}{\numberline {2.1}Setup Start}{2} +\contentsline {section}{\numberline {3}What can go wrong}{2} +\contentsline {subsection}{\numberline {3.1}Changing transmission configs}{2} +\contentsline {subsection}{\numberline {3.2}/var/lib/transmission/config/settings.json}{2} +\contentsline {subsection}{\numberline {3.3}All Bittorrent traffic through Transmission}{3} +\contentsline {subsubsection}{\numberline {3.3.1}Block WAN traffic}{3} +\contentsline {subsection}{\numberline {3.4}RPC}{3} +\contentsline {subsection}{\numberline {3.5}Crashes due to high torrent count}{3} +\contentsline {section}{\numberline {4}Conclusion}{4} diff --git a/2019/Transmission_Primer/docs/fin.pdf b/2019/Transmission_Primer/docs/fin.pdf new file mode 100644 index 0000000..b60c26a Binary files /dev/null and b/2019/Transmission_Primer/docs/fin.pdf differ diff --git a/2019/Windows_ID_vs_Windows_Key/docs/10.aux b/2019/Windows_ID_vs_Windows_Key/docs/10.aux new file mode 100644 index 0000000..e466c52 --- /dev/null +++ b/2019/Windows_ID_vs_Windows_Key/docs/10.aux @@ -0,0 +1,4 @@ +\relax +\@writefile{toc}{\contentsline {section}{\numberline {1}Overview}{1}} +\@writefile{toc}{\contentsline {section}{\numberline {2}Details}{1}} +\@writefile{toc}{\contentsline {section}{\numberline {3}Test.vbs}{2}} diff --git a/2019/Windows_ID_vs_Windows_Key/docs/10.log b/2019/Windows_ID_vs_Windows_Key/docs/10.log new file mode 100644 index 0000000..193bc29 --- /dev/null +++ b/2019/Windows_ID_vs_Windows_Key/docs/10.log @@ -0,0 +1,267 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 20 DEC 2019 17:06 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2019/Windows_I +D_vs_Windows_Key/docs/10.tex + +(/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2019/Windows_ID +_vs_Windows_Key/docs/10.tex +LaTeX2e <2017/01/01> patch level 3 +Babel <3.9r> and hyphenation patterns for 3 language(s) loaded. +(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls +Document Class: article 2014/09/29 v1.4h Standard LaTeX document class +(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo +File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +(/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty +Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package xcolor Info: Driver file: pdftex.def on input line 225. + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2017/01/12 v0.06k Graphics/color for pdfTeX + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty +Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty +Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) +) +\Gread@gobject=\count87 +) +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. +Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352. +Package xcolor Info: Model `RGB' extended on input line 1364. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. +) +(/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty +Package: geometry 2010/09/12 v5.6 Page Geometry + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks14 +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2016/05/14 v3.1 Provides the ifpdf switch +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty +Package: ifvtex 2016/05/16 v1.6 Detect VTeX and its facilities (HO) +Package ifvtex Info: VTeX not detected. +) +(/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty +Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional +) +\Gm@cnth=\count88 +\Gm@cntv=\count89 +\c@Gm@tempcnt=\count90 +\Gm@bindingoffset=\dimen103 +\Gm@wd@mp=\dimen104 +\Gm@odd@mp=\dimen105 +\Gm@even@mp=\dimen106 +\Gm@layoutwidth=\dimen107 +\Gm@layoutheight=\dimen108 +\Gm@layouthoffset=\dimen109 +\Gm@layoutvoffset=\dimen110 +\Gm@dimlist=\toks15 +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2014/10/28 v1.0g Enhanced LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2016/10/09 v1.0u Standard LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: pdftex.def on input line 99. +) +\Gin@req@height=\dimen111 +\Gin@req@width=\dimen112 +) +(/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty +Package: caption 2016/02/21 v3.3-144 Customizing captions (AR) + +(/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty +Package: caption3 2016/05/22 v1.7-166 caption3 kernel (AR) +Package caption3 Info: TeX engine: e-TeX on input line 67. +\captionmargin=\dimen113 +\captionmargin@=\dimen114 +\captionwidth=\dimen115 +\caption@tempdima=\dimen116 +\caption@indent=\dimen117 +\caption@parindent=\dimen118 +\caption@hangindent=\dimen119 +) +\c@ContinuedFloat=\count91 +) (./10.aux) +\openout1 = `10.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 12. +LaTeX Font Info: ... okay on input line 12. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 12. +LaTeX Font Info: ... okay on input line 12. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 12. +LaTeX Font Info: ... okay on input line 12. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 12. +LaTeX Font Info: ... okay on input line 12. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 12. +LaTeX Font Info: ... okay on input line 12. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 12. +LaTeX Font Info: ... okay on input line 12. + +(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count92 +\scratchdimen=\dimen120 +\scratchbox=\box26 +\nofMPsegments=\count93 +\nofMParguments=\count94 +\everyMPshowfont=\toks16 +\MPscratchCnt=\count95 +\MPscratchDim=\dimen121 +\MPnumerator=\count96 +\makeMPintoPDFobject=\count97 +\everyMPtoPDFconversion=\toks17 +) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty +Package: pdftexcmds 2016/05/21 v0.22 Utility functions of pdfTeX for LuaTeX (HO +) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty +Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) +Package ifluatex Info: LuaTeX not detected. +) +Package pdftexcmds Info: LuaTeX not detected. +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode found. +) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty +Package: epstopdf-base 2016/05/15 v2.6 Base part for package epstopdf + +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty +Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty +Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO) +)) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty +Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty +Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty +Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) +Package etexcmds Info: Could not find \expanded. +(etexcmds) That can mean that you are not using pdfTeX 1.50 or +(etexcmds) that some package has redefined \expanded. +(etexcmds) In the latter case, load this package earlier. +))) +Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 +38. +Package grfext Info: Graphics extension search list: +(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE +G,.JBIG2,.JB2,.eps] +(grfext) \AppendGraphicsExtensions on input line 456. + +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv +e +)) +*geometry* detected driver: dvips +*geometry* verbose mode - [ preamble ] result: +* driver: dvips +* paper: custom +* layout: +* layoutoffset:(h,v)=(0.0pt,0.0pt) +* vratio: 1:1 +* modes: +* h-part:(L,W,R)=(54.2025pt, 325.215pt, 54.2025pt) +* v-part:(T,H,B)=(79.49689pt, 491.43622pt, 79.49689pt) +* \paperwidth=433.62pt +* \paperheight=650.43pt +* \textwidth=325.215pt +* \textheight=491.43622pt +* \oddsidemargin=-18.06749pt +* \evensidemargin=-18.06749pt +* \topmargin=-29.7731pt +* \headheight=12.0pt +* \headsep=25.0pt +* \topskip=11.0pt +* \footskip=30.0pt +* \marginparwidth=59.0pt +* \marginparsep=10.0pt +* \columnsep=10.0pt +* \skip\footins=10.0pt plus 4.0pt minus 2.0pt +* \hoffset=0.0pt +* \voffset=0.0pt +* \mag=1000 +* \@twocolumnfalse +* \@twosidefalse +* \@mparswitchfalse +* \@reversemarginfalse +* (1in=72.27pt=25.4mm, 1cm=28.453pt) + +Package caption Info: Begin \AtBeginDocument code. +Package caption Info: End \AtBeginDocument code. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 14. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 14. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 14. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <10.95> on input line 19. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <9> on input line 19. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <5> on input line 19. +[1 +Non-PDF special ignored! + +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] +[2] (./10.aux) ) +Here is how much of TeX's memory you used: + 3512 strings out of 494945 + 53291 string characters out of 6181032 + 122311 words of memory out of 5000000 + 6791 multiletter control sequences out of 15000+600000 + 9415 words of font info for 33 fonts, out of 8000000 for 9000 + 14 hyphenation exceptions out of 8191 + 39i,8n,38p,879b,187s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on 10.pdf (2 pages, 64459 bytes). +PDF statistics: + 31 PDF objects out of 1000 (max. 8388607) + 21 compressed objects within 1 object stream + 0 named destinations out of 1000 (max. 500000) + 1 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/2019/Windows_ID_vs_Windows_Key/docs/10.pdf b/2019/Windows_ID_vs_Windows_Key/docs/10.pdf new file mode 100644 index 0000000..07a60a8 Binary files /dev/null and b/2019/Windows_ID_vs_Windows_Key/docs/10.pdf differ diff --git a/2019/Windows_ID_vs_Windows_Key/docs/10.tex b/2019/Windows_ID_vs_Windows_Key/docs/10.tex new file mode 100644 index 0000000..ed31f84 --- /dev/null +++ b/2019/Windows_ID_vs_Windows_Key/docs/10.tex @@ -0,0 +1,40 @@ +\documentclass[11pt]{article} +%Gummi|065|=) + +\usepackage{xcolor} +\usepackage[vcentering,dvips]{geometry} +\geometry{papersize={6in,9in},total={4.5in,6.8in}} +\usepackage{graphicx} +\usepackage{caption} +\title{\textbf{Windows Licensing 7: Rectal Insertion}} +\author{} +\date{} +\begin{document} + +\maketitle +%\tableofcontents + +\textcolor{green!60!blue!70}{ +\section{Overview}} +Windows 7 is a beast to activate. Constant cat \& mouse game, where the admins are slowly trained that the best way to get it activated is to pay for it. But what if you did pay, and then it gets disactivated somehow? Pay for it again. It's the fastest way. Only a fool goes down the rabbit hole of trying to illegally activate a legal copy of Win7\footnote{Some users have been managing a list at rentry.co/fwt which details backdoor activation of some Windows. For now, I will use that, when necessary. To be fair, 7 will run without much fuss these days (didn't always, though. I remember Vista and 7 used to shut down after 30 minutes) though it will have a message on the background that says 'not valid'. Not a problem for those hacking around.}. + +\textcolor{green!60!blue!70}{ +\section{Details}} +User had Windows 8. Their IT advised them to downgrade to 7 because 8 was garbage. 5-10 years later, the license unexpectedly becomes inactive. + +Notes: The users had actually taken a screenshot of the windows ID, in the system screen, but this wasn't the windows key. It was the OEM ID. That was a trap. If it says OEM, you can get the windows key from a vbs script provided on lenovos webpage for finding win7 keys, (I'll include it in the git). That is what they should've used. + +Cat \& mouse. Even for paying customers. If there is a way to screw you, they will screw you. You might even take a picture of what you thought was the ID. Well, it wasn't the ID. Predatory business model, really. + +\textcolor{green!60!blue!70}{ +\section{Test.vbs}} +In this folder, is a copy of a visual basic script that will run on Win7 to get the true product key/id whatever it is being called. Not the fake OEM one that is where the key used to be in control panel - system. It seems to work, sometimes, +\end{document} + +\begin{document} + + + + + +\end{document} diff --git a/2019/Windows_ID_vs_Windows_Key/docs/10.tex~ b/2019/Windows_ID_vs_Windows_Key/docs/10.tex~ new file mode 100644 index 0000000..ec03a74 --- /dev/null +++ b/2019/Windows_ID_vs_Windows_Key/docs/10.tex~ @@ -0,0 +1,29 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\usepackage{graphicx} +\usepackage{caption} +\title{\textbf{Windows Licensing 7: Rectal Insertion}} +\author{} +\date{} +\begin{document} + +\maketitle +\tableofcontents + +\section{Overview} +Windows 7 is a beast to activate. Constant cat \& mouse game, where the admins are slowly trained that the best way to get it activated is to pay for it. But what if you did pay, and then it gets disactivated somehow? Pay for it again. It's the fastest way. Only a fool goes down the rabbit hole of trying to illegally activate a legal copy of Win7. +\section{Details} +User had Windows 8. Their IT advised them to downgrade to 7 because 8 was garbage. 5-10 years later, the license unexpectedly becomes inactive. + +Notes: The users had actually taken a screenshot of the windows ID, in the system screen, but this wasn't the windows key. It was the OEM ID. That was a trap. If it says OEM, you can get the windows key from a vbs script provided on lenovos webpage for finding win7 keys, (I'll include it in the git). That is what they should've used. + +Cat \& mouse. Even for paying customers. If there is a way to screw you, they will screw you. You might even take a picture of what you thought was the ID. Well, it wasn't the ID. + +\section{Test.vbs} +In this folder, is a copy of a visual basic script that will run on Win7 to get the true product key/id whatever it is being called. Not the fake OEM one that is where the key used to be in control panel - system. + + + + + +\end{document} diff --git a/2019/Windows_ID_vs_Windows_Key/docs/10.toc b/2019/Windows_ID_vs_Windows_Key/docs/10.toc new file mode 100644 index 0000000..6099dac --- /dev/null +++ b/2019/Windows_ID_vs_Windows_Key/docs/10.toc @@ -0,0 +1,3 @@ +\contentsline {section}{\numberline {1}Overview}{1} +\contentsline {section}{\numberline {2}Details}{1} +\contentsline {section}{\numberline {3}Test.vbs}{2} diff --git a/2019/Windows_ID_vs_Windows_Key/docs/11.aux b/2019/Windows_ID_vs_Windows_Key/docs/11.aux new file mode 100644 index 0000000..e466c52 --- /dev/null +++ b/2019/Windows_ID_vs_Windows_Key/docs/11.aux @@ -0,0 +1,4 @@ +\relax +\@writefile{toc}{\contentsline {section}{\numberline {1}Overview}{1}} +\@writefile{toc}{\contentsline {section}{\numberline {2}Details}{1}} +\@writefile{toc}{\contentsline {section}{\numberline {3}Test.vbs}{2}} diff --git a/2019/Windows_ID_vs_Windows_Key/docs/11.log b/2019/Windows_ID_vs_Windows_Key/docs/11.log new file mode 100644 index 0000000..c8dd471 --- /dev/null +++ b/2019/Windows_ID_vs_Windows_Key/docs/11.log @@ -0,0 +1,267 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 20 DEC 2019 17:09 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2019/Windows_I +D_vs_Windows_Key/docs/11.tex + +(/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2019/Windows_ID +_vs_Windows_Key/docs/11.tex +LaTeX2e <2017/01/01> patch level 3 +Babel <3.9r> and hyphenation patterns for 3 language(s) loaded. +(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls +Document Class: article 2014/09/29 v1.4h Standard LaTeX document class +(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo +File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +(/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty +Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package xcolor Info: Driver file: pdftex.def on input line 225. + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2017/01/12 v0.06k Graphics/color for pdfTeX + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty +Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty +Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) +) +\Gread@gobject=\count87 +) +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. +Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352. +Package xcolor Info: Model `RGB' extended on input line 1364. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. +) +(/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty +Package: geometry 2010/09/12 v5.6 Page Geometry + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks14 +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2016/05/14 v3.1 Provides the ifpdf switch +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty +Package: ifvtex 2016/05/16 v1.6 Detect VTeX and its facilities (HO) +Package ifvtex Info: VTeX not detected. +) +(/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty +Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional +) +\Gm@cnth=\count88 +\Gm@cntv=\count89 +\c@Gm@tempcnt=\count90 +\Gm@bindingoffset=\dimen103 +\Gm@wd@mp=\dimen104 +\Gm@odd@mp=\dimen105 +\Gm@even@mp=\dimen106 +\Gm@layoutwidth=\dimen107 +\Gm@layoutheight=\dimen108 +\Gm@layouthoffset=\dimen109 +\Gm@layoutvoffset=\dimen110 +\Gm@dimlist=\toks15 +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2014/10/28 v1.0g Enhanced LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2016/10/09 v1.0u Standard LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: pdftex.def on input line 99. +) +\Gin@req@height=\dimen111 +\Gin@req@width=\dimen112 +) +(/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty +Package: caption 2016/02/21 v3.3-144 Customizing captions (AR) + +(/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty +Package: caption3 2016/05/22 v1.7-166 caption3 kernel (AR) +Package caption3 Info: TeX engine: e-TeX on input line 67. +\captionmargin=\dimen113 +\captionmargin@=\dimen114 +\captionwidth=\dimen115 +\caption@tempdima=\dimen116 +\caption@indent=\dimen117 +\caption@parindent=\dimen118 +\caption@hangindent=\dimen119 +) +\c@ContinuedFloat=\count91 +) (./11.aux) +\openout1 = `11.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 12. +LaTeX Font Info: ... okay on input line 12. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 12. +LaTeX Font Info: ... okay on input line 12. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 12. +LaTeX Font Info: ... okay on input line 12. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 12. +LaTeX Font Info: ... okay on input line 12. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 12. +LaTeX Font Info: ... okay on input line 12. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 12. +LaTeX Font Info: ... okay on input line 12. + +(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count92 +\scratchdimen=\dimen120 +\scratchbox=\box26 +\nofMPsegments=\count93 +\nofMParguments=\count94 +\everyMPshowfont=\toks16 +\MPscratchCnt=\count95 +\MPscratchDim=\dimen121 +\MPnumerator=\count96 +\makeMPintoPDFobject=\count97 +\everyMPtoPDFconversion=\toks17 +) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty +Package: pdftexcmds 2016/05/21 v0.22 Utility functions of pdfTeX for LuaTeX (HO +) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty +Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) +Package ifluatex Info: LuaTeX not detected. +) +Package pdftexcmds Info: LuaTeX not detected. +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode found. +) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty +Package: epstopdf-base 2016/05/15 v2.6 Base part for package epstopdf + +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty +Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty +Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO) +)) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty +Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty +Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty +Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) +Package etexcmds Info: Could not find \expanded. +(etexcmds) That can mean that you are not using pdfTeX 1.50 or +(etexcmds) that some package has redefined \expanded. +(etexcmds) In the latter case, load this package earlier. +))) +Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 +38. +Package grfext Info: Graphics extension search list: +(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE +G,.JBIG2,.JB2,.eps] +(grfext) \AppendGraphicsExtensions on input line 456. + +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv +e +)) +*geometry* detected driver: dvips +*geometry* verbose mode - [ preamble ] result: +* driver: dvips +* paper: custom +* layout: +* layoutoffset:(h,v)=(0.0pt,0.0pt) +* vratio: 1:1 +* modes: +* h-part:(L,W,R)=(54.2025pt, 325.215pt, 54.2025pt) +* v-part:(T,H,B)=(79.49689pt, 491.43622pt, 79.49689pt) +* \paperwidth=433.62pt +* \paperheight=650.43pt +* \textwidth=325.215pt +* \textheight=491.43622pt +* \oddsidemargin=-18.06749pt +* \evensidemargin=-18.06749pt +* \topmargin=-29.7731pt +* \headheight=12.0pt +* \headsep=25.0pt +* \topskip=11.0pt +* \footskip=30.0pt +* \marginparwidth=59.0pt +* \marginparsep=10.0pt +* \columnsep=10.0pt +* \skip\footins=10.0pt plus 4.0pt minus 2.0pt +* \hoffset=0.0pt +* \voffset=0.0pt +* \mag=1000 +* \@twocolumnfalse +* \@twosidefalse +* \@mparswitchfalse +* \@reversemarginfalse +* (1in=72.27pt=25.4mm, 1cm=28.453pt) + +Package caption Info: Begin \AtBeginDocument code. +Package caption Info: End \AtBeginDocument code. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 14. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 14. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 14. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <10.95> on input line 19. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <9> on input line 19. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <5> on input line 19. +[1 +Non-PDF special ignored! + +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] +[2] (./11.aux) ) +Here is how much of TeX's memory you used: + 3512 strings out of 494945 + 53291 string characters out of 6181032 + 122311 words of memory out of 5000000 + 6791 multiletter control sequences out of 15000+600000 + 9415 words of font info for 33 fonts, out of 8000000 for 9000 + 14 hyphenation exceptions out of 8191 + 39i,8n,38p,1163b,187s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on 11.pdf (2 pages, 65696 bytes). +PDF statistics: + 31 PDF objects out of 1000 (max. 8388607) + 21 compressed objects within 1 object stream + 0 named destinations out of 1000 (max. 500000) + 1 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/2019/Windows_ID_vs_Windows_Key/docs/11.pdf b/2019/Windows_ID_vs_Windows_Key/docs/11.pdf new file mode 100644 index 0000000..4d66571 Binary files /dev/null and b/2019/Windows_ID_vs_Windows_Key/docs/11.pdf differ diff --git a/2019/Windows_ID_vs_Windows_Key/docs/11.tex b/2019/Windows_ID_vs_Windows_Key/docs/11.tex new file mode 100644 index 0000000..2bb7015 --- /dev/null +++ b/2019/Windows_ID_vs_Windows_Key/docs/11.tex @@ -0,0 +1,40 @@ +\documentclass[11pt]{article} +%Gummi|065|=) + +\usepackage{xcolor} +\usepackage[vcentering,dvips]{geometry} +\geometry{papersize={6in,9in},total={4.5in,6.8in}} +\usepackage{graphicx} +\usepackage{caption} +\title{\textbf{Windows Licensing 7: Rectal Insertion}} +\author{} +\date{} +\begin{document} + +\maketitle +%\tableofcontents + +\textcolor{green!60!blue!70}{ +\section{Overview}} +Windows 7\footnote{Before someone complains about the title rectal insertion, I will say that generally humans (and animals) don't like things inserted into this oriface, and if you need proof, then consider that they don't make recreational drugs in suppository form (as George Carlin says).} is a beast to activate. Constant cat \& mouse game, where the admins are slowly trained that the best way to get it activated is to pay for it. But what if you did pay, and then it gets disactivated somehow? Pay for it again. It's the fastest way. Only a fool goes down the rabbit hole of trying to illegally activate a legal copy of Win7\footnote{Some users have been managing a list at rentry.co/fwt which details backdoor activation of some Windows. For now, I will use that, when necessary. To be fair, 7 will run without much fuss these days (didn't always, though. I remember Vista and 7 used to shut down after 30 minutes) though it will have a message on the background that says 'not valid'. Not a problem for those hacking around.}. + +\textcolor{green!60!blue!70}{ +\section{Details}} +User had Windows 8. Their IT advised them to downgrade to 7 because 8 was garbage. 5-10 years later, the license unexpectedly becomes inactive. + +Notes: The users had actually taken a screenshot of the windows ID, in the system screen, but this wasn't the windows key. It was the OEM ID. That was a trap. If it says OEM, you can get the windows key from a vbs script provided on lenovos webpage for finding win7 keys, (I'll include it in the git). That is what they should've used. + +Cat \& mouse. Even for paying customers. If there is a way to screw you, they will screw you. You might even take a picture of what you thought was the ID. Well, it wasn't the ID. Predatory business model, really. + +\textcolor{green!60!blue!70}{ +\section{Test.vbs}} +In this folder, is a copy of a visual basic script that will run on Win7 to get the true product key/id whatever it is being called. Not the fake OEM one that is where the key used to be in control panel - system. It seems to work, sometimes, +\end{document} + +\begin{document} + + + + + +\end{document} diff --git a/2019/Windows_ID_vs_Windows_Key/docs/11.tex~ b/2019/Windows_ID_vs_Windows_Key/docs/11.tex~ new file mode 100644 index 0000000..f540602 --- /dev/null +++ b/2019/Windows_ID_vs_Windows_Key/docs/11.tex~ @@ -0,0 +1,40 @@ +\documentclass[11pt]{article} +%Gummi|065|=) + +\usepackage{xcolor} +\usepackage[vcentering,dvips]{geometry} +\geometry{papersize={6in,9in},total={4.5in,6.8in}} +\usepackage{graphicx} +\usepackage{caption} +\title{\textbf{Windows Licensing 7: Rectal Insertion}} +\author{} +\date{} +\begin{document} + +\maketitle +%\tableofcontents + +\textcolor{green!60!blue!70}{ +\section{Overview}} +Windows 7\footnote{Before someone complains about the title rectal insertion, I will say that generally humans (and animals) don't like things inserted into this oriface, and if you need proof, then consider that they don't make recreational drugs in suppository form (as George Carlin would say).} is a beast to activate. Constant cat \& mouse game, where the admins are slowly trained that the best way to get it activated is to pay for it. But what if you did pay, and then it gets disactivated somehow? Pay for it again. It's the fastest way. Only a fool goes down the rabbit hole of trying to illegally activate a legal copy of Win7\footnote{Some users have been managing a list at rentry.co/fwt which details backdoor activation of some Windows. For now, I will use that, when necessary. To be fair, 7 will run without much fuss these days (didn't always, though. I remember Vista and 7 used to shut down after 30 minutes) though it will have a message on the background that says 'not valid'. Not a problem for those hacking around.}. + +\textcolor{green!60!blue!70}{ +\section{Details}} +User had Windows 8. Their IT advised them to downgrade to 7 because 8 was garbage. 5-10 years later, the license unexpectedly becomes inactive. + +Notes: The users had actually taken a screenshot of the windows ID, in the system screen, but this wasn't the windows key. It was the OEM ID. That was a trap. If it says OEM, you can get the windows key from a vbs script provided on lenovos webpage for finding win7 keys, (I'll include it in the git). That is what they should've used. + +Cat \& mouse. Even for paying customers. If there is a way to screw you, they will screw you. You might even take a picture of what you thought was the ID. Well, it wasn't the ID. Predatory business model, really. + +\textcolor{green!60!blue!70}{ +\section{Test.vbs}} +In this folder, is a copy of a visual basic script that will run on Win7 to get the true product key/id whatever it is being called. Not the fake OEM one that is where the key used to be in control panel - system. It seems to work, sometimes, +\end{document} + +\begin{document} + + + + + +\end{document} diff --git a/2019/Windows_ID_vs_Windows_Key/docs/fin.pdf b/2019/Windows_ID_vs_Windows_Key/docs/fin.pdf index 0086363..4d66571 100644 Binary files a/2019/Windows_ID_vs_Windows_Key/docs/fin.pdf and b/2019/Windows_ID_vs_Windows_Key/docs/fin.pdf differ diff --git a/2020/Manual_Email_Server_Interaction/docs/1.aux b/2020/Manual_Email_Server_Interaction/docs/1.aux new file mode 100644 index 0000000..beba759 --- /dev/null +++ b/2020/Manual_Email_Server_Interaction/docs/1.aux @@ -0,0 +1,3 @@ +\relax +\@writefile{toc}{\contentsline {section}{\numberline {1}Manual Email Server Interaction}{1}} +\@writefile{toc}{\contentsline {section}{\numberline {2}Basics}{1}} diff --git a/2020/Manual_Email_Server_Interaction/docs/1.log b/2020/Manual_Email_Server_Interaction/docs/1.log new file mode 100644 index 0000000..c50cc8b --- /dev/null +++ b/2020/Manual_Email_Server_Interaction/docs/1.log @@ -0,0 +1,339 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 30 MAY 2020 22:58 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2020/Manual_Em +ail_Server_Interaction/docs/1.tex + +(/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2020/Manual_Ema +il_Server_Interaction/docs/1.tex +LaTeX2e <2017/01/01> patch level 3 +Babel <3.9r> and hyphenation patterns for 3 language(s) loaded. +(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls +Document Class: article 2014/09/29 v1.4h Standard LaTeX document class +(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo +File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2014/10/28 v1.0g Enhanced LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks14 +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2016/10/09 v1.0u Standard LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: pdftex.def on input line 99. + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2017/01/12 v0.06k Graphics/color for pdfTeX + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty +Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty +Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) +) +\Gread@gobject=\count87 +)) +\Gin@req@height=\dimen103 +\Gin@req@width=\dimen104 +) +(/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty +Package: caption 2016/02/21 v3.3-144 Customizing captions (AR) + +(/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty +Package: caption3 2016/05/22 v1.7-166 caption3 kernel (AR) +Package caption3 Info: TeX engine: e-TeX on input line 67. +\captionmargin=\dimen105 +\captionmargin@=\dimen106 +\captionwidth=\dimen107 +\caption@tempdima=\dimen108 +\caption@indent=\dimen109 +\caption@parindent=\dimen110 +\caption@hangindent=\dimen111 +) +\c@ContinuedFloat=\count88 +) (./1.aux) +\openout1 = `1.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. + +(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count89 +\scratchdimen=\dimen112 +\scratchbox=\box26 +\nofMPsegments=\count90 +\nofMParguments=\count91 +\everyMPshowfont=\toks15 +\MPscratchCnt=\count92 +\MPscratchDim=\dimen113 +\MPnumerator=\count93 +\makeMPintoPDFobject=\count94 +\everyMPtoPDFconversion=\toks16 +) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty +Package: pdftexcmds 2016/05/21 v0.22 Utility functions of pdfTeX for LuaTeX (HO +) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty +Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) +Package ifluatex Info: LuaTeX not detected. +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2016/05/14 v3.1 Provides the ifpdf switch +) +Package pdftexcmds Info: LuaTeX not detected. +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode found. +) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty +Package: epstopdf-base 2016/05/15 v2.6 Base part for package epstopdf + +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty +Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty +Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO) +)) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty +Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty +Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty +Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) +Package etexcmds Info: Could not find \expanded. +(etexcmds) That can mean that you are not using pdfTeX 1.50 or +(etexcmds) that some package has redefined \expanded. +(etexcmds) In the latter case, load this package earlier. +))) +Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 +38. +Package grfext Info: Graphics extension search list: +(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE +G,.JBIG2,.JB2,.eps] +(grfext) \AppendGraphicsExtensions on input line 456. + +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv +e +)) +Package caption Info: Begin \AtBeginDocument code. +Package caption Info: End \AtBeginDocument code. + +Overfull \hbox (99.89502pt too wide) in paragraph at lines 27--27 +[]\OT1/cmtt/m/n/10.95 openssl s_client -debug -starttls smtp -crlf -connect smt +p.emailprovider.com:465[] + [] + + +Overfull \hbox (99.89502pt too wide) in paragraph at lines 91--91 +[] \OT1/cmtt/m/n/10.95 Session-ID: 480E968D62206D936801683C3BB12679DCB5CEDB0 +B20F4C3C2EB9DC97A54FAF4[] + [] + + +Overfull \hbox (283.85303pt too wide) in paragraph at lines 91--91 +[] \OT1/cmtt/m/n/10.95 Master-Key: BAB3C9AD7E209D2A979A621731BCB6A0B4368EEE0 +3E2B99CF884D2671E2D62A1A365EEB50FC881CA2E4FD666082027BA[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 91--91 +[] \OT1/cmtt/m/n/10.95 0000 - 26 e3 0c d9 a7 0e b1 88-52 ce 35 aa a0 8d bd 4 +0 &.......R.5....@[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 91--91 +[] \OT1/cmtt/m/n/10.95 0010 - 0c 39 e4 60 04 59 06 bb-b2 7e 35 f9 56 36 d1 4 +6 .9.`.Y...~5.V6.F[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 91--91 +[] \OT1/cmtt/m/n/10.95 0020 - d2 8c 48 29 44 fa 9f 2b-cd af fc 9a 68 b0 b8 6 +3 ..H)D..+....h..c[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 91--91 +[] \OT1/cmtt/m/n/10.95 0030 - 35 06 cd ba 67 57 bf c4-84 19 5a 05 fd a7 62 5 +1 5...gW....Z...bQ[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 91--91 +[] \OT1/cmtt/m/n/10.95 0040 - 1c 63 d7 b0 b4 ce 62 9f-66 13 7b 4c 74 54 86 f +a .c....b.f.{LtT..[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 91--91 +[] \OT1/cmtt/m/n/10.95 0050 - 3b 31 e1 e1 bd 19 29 e8-76 c2 6c 45 db 1d 32 5 +0 ;1....).v.lE..2P[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 91--91 +[] \OT1/cmtt/m/n/10.95 0060 - 60 63 ec 38 a3 e5 de 26-d6 27 c6 26 60 09 1a 5 +9 `c.8...&.'.&`..Y[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 91--91 +[] \OT1/cmtt/m/n/10.95 0070 - 59 e9 97 b4 07 9f 6c fc-46 cb 9e 0b 40 57 8f 7 +1 Y.....l.F...@W.q[] + [] + +[1 + +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] +Overfull \hbox (82.64896pt too wide) in paragraph at lines 91--91 +[] \OT1/cmtt/m/n/10.95 0080 - 20 98 54 06 38 42 47 c1-e6 fd 74 92 dc 11 a5 9 +7 .T.8BG...t.....[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 91--91 +[] \OT1/cmtt/m/n/10.95 0090 - 5d 81 7e 0b 66 b7 8e aa-c0 61 48 0c 90 84 ac 2 +d ].~.f....aH....-[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0000 - 17 03 03 00 28 2a 65 16-62 f5 2c 8c e5 d9 f2 ef +....(*e.b.,.....[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0010 - bb 8a ac 3a 6a dc db 32-79 56 7f 86 90 2e ed 44 +...:j..2yV.....D[] + [] + + +Overfull \hbox (42.40814pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0020 - 6e 6a ea 12 64 bb f8 1e-95 7e 63 16 c5 +nj..d....~c..[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0000 - 80 ae b0 b8 00 a2 d6 6b-47 42 2c 5d 30 1c 04 bd +.......kGB,]0...[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0010 - 5c bb 84 61 20 5a 2e 0d-c5 79 28 a9 21 d6 ad 1b +\..a Z...y(.!...[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0020 - 99 e5 fc da a1 fb da bc-70 9e 9b ac 5a e1 0f 8e +........p...Z...[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0030 - bb c8 6d cb 2e 27 af 9b-4a 6a e8 17 69 31 63 14 +..m..'..Jj..i1c.[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0040 - 24 68 d7 6b cc a7 dc 24-7c d6 4b fa 2a 3e 38 61 +$h.k...$|.K.*>8a[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0050 - 58 57 4d e8 1c e7 66 3c-22 0f 07 62 42 14 e7 78 +XWM...f<"..bB..x[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0060 - 86 8a 6c 6f 8f 79 06 f6-dc 33 b5 e9 ec db b8 b4 +..lo.y...3......[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0070 - 0e 7d d7 08 17 cd 4d b3-ac 16 79 08 87 df 31 95 +.}....M...y...1.[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0080 - 03 8d 9e 8c 25 09 ca 38-d0 be ee 45 38 d8 c4 a5 +....%..8...E8...[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0090 - c3 90 44 23 5d e7 9b 1b-c0 40 d2 cc 40 c5 4a e4 +..D#]....@..@.J.[] + [] + + +Overfull \hbox (7.91602pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 00a0 - 25 38 8b 05 2f b2 33 +%8../.3[] + [] + +[2] (./1.aux) ) +Here is how much of TeX's memory you used: + 2539 strings out of 494945 + 40661 string characters out of 6181032 + 98811 words of memory out of 5000000 + 5844 multiletter control sequences out of 15000+600000 + 5021 words of font info for 19 fonts, out of 8000000 for 9000 + 14 hyphenation exceptions out of 8191 + 39i,4n,38p,340b,239s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on 1.pdf (2 pages, 62815 bytes). +PDF statistics: + 27 PDF objects out of 1000 (max. 8388607) + 18 compressed objects within 1 object stream + 0 named destinations out of 1000 (max. 500000) + 1 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/2020/Manual_Email_Server_Interaction/docs/1.pdf b/2020/Manual_Email_Server_Interaction/docs/1.pdf new file mode 100644 index 0000000..5ff196a Binary files /dev/null and b/2020/Manual_Email_Server_Interaction/docs/1.pdf differ diff --git a/2020/Manual_Email_Server_Interaction/docs/1.tex b/2020/Manual_Email_Server_Interaction/docs/1.tex new file mode 100644 index 0000000..0ade1d5 --- /dev/null +++ b/2020/Manual_Email_Server_Interaction/docs/1.tex @@ -0,0 +1,93 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\title{\textbf{}} +\usepackage{graphicx} +\usepackage{caption } +\author{Steak Electronics} +\date{06/4/19} +\begin{document} + +%\maketitle +\textbf{Nextcloud Research} + +\vspace{0.2in} + +%\textbf{Todo} +\section{Manual Email Server Interaction} +How to send emails manually. This is essential for troubleshooting automated email systems. + +\section{Basics} + +\begin{verbatim} +openssl s_client -debug -starttls smtp -crlf -connect smtp.emailprovider.com:465 +then continue with +EHLO hostname +AUTH +etc... +\end{verbatim} + + +Here's an example: + +\begin{verbatim} +Compression: NONE +Expansion: NONE +No ALPN negotiated +SSL-Session: + Protocol : TLSv1.2 + Cipher : ECDHE-RSA-AES128-GCM-SHA256 + Session-ID: 480E968D62206D936801683C3BB12679DCB5CEDB0B20F4C3C2EB9DC97A54FAF4 + Session-ID-ctx: + Master-Key: BAB3C9AD7E209D2A979A621731BCB6A0B4368EEE03E2B99CF884D2671E2D62A1A365EEB50FC881CA2E4FD666082027BA + Key-Arg : None + PSK identity: None + PSK identity hint: None + SRP username: None + TLS session ticket lifetime hint: 300 (seconds) + TLS session ticket: + 0000 - 26 e3 0c d9 a7 0e b1 88-52 ce 35 aa a0 8d bd 40 &.......R.5....@ + 0010 - 0c 39 e4 60 04 59 06 bb-b2 7e 35 f9 56 36 d1 46 .9.`.Y...~5.V6.F + 0020 - d2 8c 48 29 44 fa 9f 2b-cd af fc 9a 68 b0 b8 63 ..H)D..+....h..c + 0030 - 35 06 cd ba 67 57 bf c4-84 19 5a 05 fd a7 62 51 5...gW....Z...bQ + 0040 - 1c 63 d7 b0 b4 ce 62 9f-66 13 7b 4c 74 54 86 fa .c....b.f.{LtT.. + 0050 - 3b 31 e1 e1 bd 19 29 e8-76 c2 6c 45 db 1d 32 50 ;1....).v.lE..2P + 0060 - 60 63 ec 38 a3 e5 de 26-d6 27 c6 26 60 09 1a 59 `c.8...&.'.&`..Y + 0070 - 59 e9 97 b4 07 9f 6c fc-46 cb 9e 0b 40 57 8f 71 Y.....l.F...@W.q + 0080 - 20 98 54 06 38 42 47 c1-e6 fd 74 92 dc 11 a5 97 .T.8BG...t..... + 0090 - 5d 81 7e 0b 66 b7 8e aa-c0 61 48 0c 90 84 ac 2d ].~.f....aH....- + + Start Time: 1590893833 + Timeout : 300 (sec) + Verify return code: 0 (ok) +--- +250 PIPELINING +EHLO localhost +write to 0x1c0dd20 [0x1c17853] (45 bytes => 45 (0x2D)) +0000 - 17 03 03 00 28 2a 65 16-62 f5 2c 8c e5 d9 f2 ef ....(*e.b.,..... +0010 - bb 8a ac 3a 6a dc db 32-79 56 7f 86 90 2e ed 44 ...:j..2yV.....D +0020 - 6e 6a ea 12 64 bb f8 1e-95 7e 63 16 c5 nj..d....~c.. +read from 0x1c0dd20 [0x1c13303] (5 bytes => 5 (0x5)) +0000 - 17 03 03 00 a7 ..... +read from 0x1c0dd20 [0x1c13308] (167 bytes => 167 (0xA7)) +0000 - 80 ae b0 b8 00 a2 d6 6b-47 42 2c 5d 30 1c 04 bd .......kGB,]0... +0010 - 5c bb 84 61 20 5a 2e 0d-c5 79 28 a9 21 d6 ad 1b \..a Z...y(.!... +0020 - 99 e5 fc da a1 fb da bc-70 9e 9b ac 5a e1 0f 8e ........p...Z... +0030 - bb c8 6d cb 2e 27 af 9b-4a 6a e8 17 69 31 63 14 ..m..'..Jj..i1c. +0040 - 24 68 d7 6b cc a7 dc 24-7c d6 4b fa 2a 3e 38 61 $h.k...$|.K.*>8a +0050 - 58 57 4d e8 1c e7 66 3c-22 0f 07 62 42 14 e7 78 XWM...f<"..bB..x +0060 - 86 8a 6c 6f 8f 79 06 f6-dc 33 b5 e9 ec db b8 b4 ..lo.y...3...... +0070 - 0e 7d d7 08 17 cd 4d b3-ac 16 79 08 87 df 31 95 .}....M...y...1. +0080 - 03 8d 9e 8c 25 09 ca 38-d0 be ee 45 38 d8 c4 a5 ....%..8...E8... +0090 - c3 90 44 23 5d e7 9b 1b-c0 40 d2 cc 40 c5 4a e4 ..D#]....@..@.J. +00a0 - 25 38 8b 05 2f b2 33 %8../.3 +250-www192.vfemail.net +250-8BITMIME +250-AUTH PLAIN +250-BURL imap +250-CHUNKING +250-ENHANCEDSTATUSCODES +250-SIZE 78643200 +250 PIPELINING +\end{verbatim} + +\end{document} diff --git a/2020/Manual_Email_Server_Interaction/docs/1.tex~ b/2020/Manual_Email_Server_Interaction/docs/1.tex~ new file mode 100644 index 0000000..d994e5e --- /dev/null +++ b/2020/Manual_Email_Server_Interaction/docs/1.tex~ @@ -0,0 +1,34 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\title{\textbf{}} +\usepackage{graphicx} +\usepackage{caption } +\author{Steak Electronics} +\date{06/4/19} +\begin{document} + +%\maketitle +\textbf{Nextcloud Research} + +\vspace{0.2in} + +%\textbf{Todo} +\section{Overview} +I need something to sync contacts for clients. Nextcloud has that option. Let's try it out. + +\section{Work Log} +I had trouble finding a nextcloud that was managed for under \$25 month. I did find one, finally (open it store). + +They installed everything. I didn't use my own domain name, but no big deal. + +I downloaded nextcloud for my 4.5 android, and it works. Now to try contact sync. + +Once you open the nextcloud app, there is a way to sync contacts. Requires davx5. So I got that. It brought me to the login page, and I tried logging in, but it failed. It may have been a bad password. I tried again using the URL +https://my.domain.com/remote.php/dav/ +replacing my.domain with my URL, and it worked. I think the first time, I just had the password wrong. + +After that, davx5 loads up. There is a carddav option. It takes 2-3 minutes to load (you'll see a spinning animation). After that, you can click a checkbox for contacts, then click the 'sync' button. + + + +\end{document} diff --git a/2020/Manual_Email_Server_Interaction/docs/2.aux b/2020/Manual_Email_Server_Interaction/docs/2.aux new file mode 100644 index 0000000..beba759 --- /dev/null +++ b/2020/Manual_Email_Server_Interaction/docs/2.aux @@ -0,0 +1,3 @@ +\relax +\@writefile{toc}{\contentsline {section}{\numberline {1}Manual Email Server Interaction}{1}} +\@writefile{toc}{\contentsline {section}{\numberline {2}Basics}{1}} diff --git a/2020/Manual_Email_Server_Interaction/docs/2.log b/2020/Manual_Email_Server_Interaction/docs/2.log new file mode 100644 index 0000000..04b437c --- /dev/null +++ b/2020/Manual_Email_Server_Interaction/docs/2.log @@ -0,0 +1,386 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 30 MAY 2020 22:59 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2020/Manual_Em +ail_Server_Interaction/docs/2.tex + +(/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2020/Manual_Ema +il_Server_Interaction/docs/2.tex +LaTeX2e <2017/01/01> patch level 3 +Babel <3.9r> and hyphenation patterns for 3 language(s) loaded. +(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls +Document Class: article 2014/09/29 v1.4h Standard LaTeX document class +(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo +File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2014/10/28 v1.0g Enhanced LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks14 +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2016/10/09 v1.0u Standard LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: pdftex.def on input line 99. + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2017/01/12 v0.06k Graphics/color for pdfTeX + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty +Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty +Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) +) +\Gread@gobject=\count87 +)) +\Gin@req@height=\dimen103 +\Gin@req@width=\dimen104 +) +(/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty +Package: caption 2016/02/21 v3.3-144 Customizing captions (AR) + +(/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty +Package: caption3 2016/05/22 v1.7-166 caption3 kernel (AR) +Package caption3 Info: TeX engine: e-TeX on input line 67. +\captionmargin=\dimen105 +\captionmargin@=\dimen106 +\captionwidth=\dimen107 +\caption@tempdima=\dimen108 +\caption@indent=\dimen109 +\caption@parindent=\dimen110 +\caption@hangindent=\dimen111 +) +\c@ContinuedFloat=\count88 +) (./2.aux) +\openout1 = `2.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. + +(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count89 +\scratchdimen=\dimen112 +\scratchbox=\box26 +\nofMPsegments=\count90 +\nofMParguments=\count91 +\everyMPshowfont=\toks15 +\MPscratchCnt=\count92 +\MPscratchDim=\dimen113 +\MPnumerator=\count93 +\makeMPintoPDFobject=\count94 +\everyMPtoPDFconversion=\toks16 +) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty +Package: pdftexcmds 2016/05/21 v0.22 Utility functions of pdfTeX for LuaTeX (HO +) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty +Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) +Package ifluatex Info: LuaTeX not detected. +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2016/05/14 v3.1 Provides the ifpdf switch +) +Package pdftexcmds Info: LuaTeX not detected. +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode found. +) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty +Package: epstopdf-base 2016/05/15 v2.6 Base part for package epstopdf + +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty +Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty +Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO) +)) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty +Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty +Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty +Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) +Package etexcmds Info: Could not find \expanded. +(etexcmds) That can mean that you are not using pdfTeX 1.50 or +(etexcmds) that some package has redefined \expanded. +(etexcmds) In the latter case, load this package earlier. +))) +Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 +38. +Package grfext Info: Graphics extension search list: +(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE +G,.JBIG2,.JB2,.eps] +(grfext) \AppendGraphicsExtensions on input line 456. + +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv +e +)) +Package caption Info: Begin \AtBeginDocument code. +Package caption Info: End \AtBeginDocument code. + +Overfull \hbox (99.89502pt too wide) in paragraph at lines 27--27 +[]\OT1/cmtt/m/n/10.95 openssl s_client -debug -starttls smtp -crlf -connect smt +p.emailprovider.com:465[] + [] + + +Overfull \hbox (99.89502pt too wide) in paragraph at lines 91--91 +[] \OT1/cmtt/m/n/10.95 Session-ID: 480E968D62206D936801683C3BB12679DCB5CEDB0 +B20F4C3C2EB9DC97A54FAF4[] + [] + + +Overfull \hbox (283.85303pt too wide) in paragraph at lines 91--91 +[] \OT1/cmtt/m/n/10.95 Master-Key: BAB3C9AD7E209D2A979A621731BCB6A0B4368EEE0 +3E2B99CF884D2671E2D62A1A365EEB50FC881CA2E4FD666082027BA[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 91--91 +[] \OT1/cmtt/m/n/10.95 0000 - 26 e3 0c d9 a7 0e b1 88-52 ce 35 aa a0 8d bd 4 +0 &.......R.5....@[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 91--91 +[] \OT1/cmtt/m/n/10.95 0010 - 0c 39 e4 60 04 59 06 bb-b2 7e 35 f9 56 36 d1 4 +6 .9.`.Y...~5.V6.F[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 91--91 +[] \OT1/cmtt/m/n/10.95 0020 - d2 8c 48 29 44 fa 9f 2b-cd af fc 9a 68 b0 b8 6 +3 ..H)D..+....h..c[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 91--91 +[] \OT1/cmtt/m/n/10.95 0030 - 35 06 cd ba 67 57 bf c4-84 19 5a 05 fd a7 62 5 +1 5...gW....Z...bQ[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 91--91 +[] \OT1/cmtt/m/n/10.95 0040 - 1c 63 d7 b0 b4 ce 62 9f-66 13 7b 4c 74 54 86 f +a .c....b.f.{LtT..[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 91--91 +[] \OT1/cmtt/m/n/10.95 0050 - 3b 31 e1 e1 bd 19 29 e8-76 c2 6c 45 db 1d 32 5 +0 ;1....).v.lE..2P[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 91--91 +[] \OT1/cmtt/m/n/10.95 0060 - 60 63 ec 38 a3 e5 de 26-d6 27 c6 26 60 09 1a 5 +9 `c.8...&.'.&`..Y[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 91--91 +[] \OT1/cmtt/m/n/10.95 0070 - 59 e9 97 b4 07 9f 6c fc-46 cb 9e 0b 40 57 8f 7 +1 Y.....l.F...@W.q[] + [] + +[1 + +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] +Overfull \hbox (82.64896pt too wide) in paragraph at lines 91--91 +[] \OT1/cmtt/m/n/10.95 0080 - 20 98 54 06 38 42 47 c1-e6 fd 74 92 dc 11 a5 9 +7 .T.8BG...t.....[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 91--91 +[] \OT1/cmtt/m/n/10.95 0090 - 5d 81 7e 0b 66 b7 8e aa-c0 61 48 0c 90 84 ac 2 +d ].~.f....aH....-[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0000 - 17 03 03 00 28 2a 65 16-62 f5 2c 8c e5 d9 f2 ef +....(*e.b.,.....[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0010 - bb 8a ac 3a 6a dc db 32-79 56 7f 86 90 2e ed 44 +...:j..2yV.....D[] + [] + + +Overfull \hbox (42.40814pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0020 - 6e 6a ea 12 64 bb f8 1e-95 7e 63 16 c5 +nj..d....~c..[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0000 - 80 ae b0 b8 00 a2 d6 6b-47 42 2c 5d 30 1c 04 bd +.......kGB,]0...[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0010 - 5c bb 84 61 20 5a 2e 0d-c5 79 28 a9 21 d6 ad 1b +\..a Z...y(.!...[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0020 - 99 e5 fc da a1 fb da bc-70 9e 9b ac 5a e1 0f 8e +........p...Z...[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0030 - bb c8 6d cb 2e 27 af 9b-4a 6a e8 17 69 31 63 14 +..m..'..Jj..i1c.[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0040 - 24 68 d7 6b cc a7 dc 24-7c d6 4b fa 2a 3e 38 61 +$h.k...$|.K.*>8a[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0050 - 58 57 4d e8 1c e7 66 3c-22 0f 07 62 42 14 e7 78 +XWM...f<"..bB..x[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0060 - 86 8a 6c 6f 8f 79 06 f6-dc 33 b5 e9 ec db b8 b4 +..lo.y...3......[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0070 - 0e 7d d7 08 17 cd 4d b3-ac 16 79 08 87 df 31 95 +.}....M...y...1.[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0080 - 03 8d 9e 8c 25 09 ca 38-d0 be ee 45 38 d8 c4 a5 +....%..8...E8...[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0090 - c3 90 44 23 5d e7 9b 1b-c0 40 d2 cc 40 c5 4a e4 +..D#]....@..@.J.[] + [] + + +Overfull \hbox (7.91602pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 00a0 - 25 38 8b 05 2f b2 33 +%8../.3[] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 92--96 + + [] + +[2] +Overfull \hbox (59.6542pt too wide) in paragraph at lines 114--114 +[]\OT1/cmtt/m/n/10.95 0000 - 17 03 03 00 24 2a 65 16-62 f5 2c 8c e6 59 01 74 +....$*e.b.,..Y.t[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 114--114 +[]\OT1/cmtt/m/n/10.95 0010 - 10 99 f5 d2 e6 75 88 d3-b9 58 0e 92 78 fc f1 ad +.....u...X..x...[] + [] + + +Overfull \hbox (19.41339pt too wide) in paragraph at lines 114--114 +[]\OT1/cmtt/m/n/10.95 0020 - c6 aa 50 2a 6c f4 cf e5-dd +..P*l....[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 114--114 +[]\OT1/cmtt/m/n/10.95 0000 - 80 ae b0 b8 00 a2 d6 6c-bf e5 f8 3d 5a 39 93 2b +.......l...=Z9.+[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 114--114 +[]\OT1/cmtt/m/n/10.95 0010 - f8 a2 12 03 0f 0f 5c a3-95 0a 6c b6 d9 fa 3d 09 +......\...l...=.[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 114--114 +[]\OT1/cmtt/m/n/10.95 0020 - 73 f7 5c 26 8c 41 aa cf-87 0f 65 61 52 7d ec f7 +s.\&.A....eaR}..[] + [] + + +Overfull \hbox (25.16208pt too wide) in paragraph at lines 114--114 +[]\OT1/cmtt/m/n/10.95 0030 - 4a fe cd a4 f8 3e be 48-a3 92 +J....>.H..[] + [] + +[3] (./2.aux) ) +Here is how much of TeX's memory you used: + 2539 strings out of 494945 + 40661 string characters out of 6181032 + 98811 words of memory out of 5000000 + 5844 multiletter control sequences out of 15000+600000 + 5021 words of font info for 19 fonts, out of 8000000 for 9000 + 14 hyphenation exceptions out of 8191 + 39i,5n,38p,340b,239s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on 2.pdf (3 pages, 67242 bytes). +PDF statistics: + 30 PDF objects out of 1000 (max. 8388607) + 20 compressed objects within 1 object stream + 0 named destinations out of 1000 (max. 500000) + 1 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/2020/Manual_Email_Server_Interaction/docs/2.pdf b/2020/Manual_Email_Server_Interaction/docs/2.pdf new file mode 100644 index 0000000..3ea8758 Binary files /dev/null and b/2020/Manual_Email_Server_Interaction/docs/2.pdf differ diff --git a/2020/Manual_Email_Server_Interaction/docs/2.tex b/2020/Manual_Email_Server_Interaction/docs/2.tex new file mode 100644 index 0000000..f6121ae --- /dev/null +++ b/2020/Manual_Email_Server_Interaction/docs/2.tex @@ -0,0 +1,117 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\title{\textbf{}} +\usepackage{graphicx} +\usepackage{caption } +\author{Steak Electronics} +\date{06/4/19} +\begin{document} + +%\maketitle +\textbf{Nextcloud Research} + +\vspace{0.2in} + +%\textbf{Todo} +\section{Manual Email Server Interaction} +How to send emails manually. This is essential for troubleshooting automated email systems. + +\section{Basics} + +\begin{verbatim} +openssl s_client -debug -starttls smtp -crlf -connect smtp.emailprovider.com:465 +then continue with +EHLO hostname +AUTH +etc... +\end{verbatim} + + +Here's an example: + +\begin{verbatim} +Compression: NONE +Expansion: NONE +No ALPN negotiated +SSL-Session: + Protocol : TLSv1.2 + Cipher : ECDHE-RSA-AES128-GCM-SHA256 + Session-ID: 480E968D62206D936801683C3BB12679DCB5CEDB0B20F4C3C2EB9DC97A54FAF4 + Session-ID-ctx: + Master-Key: BAB3C9AD7E209D2A979A621731BCB6A0B4368EEE03E2B99CF884D2671E2D62A1A365EEB50FC881CA2E4FD666082027BA + Key-Arg : None + PSK identity: None + PSK identity hint: None + SRP username: None + TLS session ticket lifetime hint: 300 (seconds) + TLS session ticket: + 0000 - 26 e3 0c d9 a7 0e b1 88-52 ce 35 aa a0 8d bd 40 &.......R.5....@ + 0010 - 0c 39 e4 60 04 59 06 bb-b2 7e 35 f9 56 36 d1 46 .9.`.Y...~5.V6.F + 0020 - d2 8c 48 29 44 fa 9f 2b-cd af fc 9a 68 b0 b8 63 ..H)D..+....h..c + 0030 - 35 06 cd ba 67 57 bf c4-84 19 5a 05 fd a7 62 51 5...gW....Z...bQ + 0040 - 1c 63 d7 b0 b4 ce 62 9f-66 13 7b 4c 74 54 86 fa .c....b.f.{LtT.. + 0050 - 3b 31 e1 e1 bd 19 29 e8-76 c2 6c 45 db 1d 32 50 ;1....).v.lE..2P + 0060 - 60 63 ec 38 a3 e5 de 26-d6 27 c6 26 60 09 1a 59 `c.8...&.'.&`..Y + 0070 - 59 e9 97 b4 07 9f 6c fc-46 cb 9e 0b 40 57 8f 71 Y.....l.F...@W.q + 0080 - 20 98 54 06 38 42 47 c1-e6 fd 74 92 dc 11 a5 97 .T.8BG...t..... + 0090 - 5d 81 7e 0b 66 b7 8e aa-c0 61 48 0c 90 84 ac 2d ].~.f....aH....- + + Start Time: 1590893833 + Timeout : 300 (sec) + Verify return code: 0 (ok) +--- +250 PIPELINING +EHLO localhost +write to 0x1c0dd20 [0x1c17853] (45 bytes => 45 (0x2D)) +0000 - 17 03 03 00 28 2a 65 16-62 f5 2c 8c e5 d9 f2 ef ....(*e.b.,..... +0010 - bb 8a ac 3a 6a dc db 32-79 56 7f 86 90 2e ed 44 ...:j..2yV.....D +0020 - 6e 6a ea 12 64 bb f8 1e-95 7e 63 16 c5 nj..d....~c.. +read from 0x1c0dd20 [0x1c13303] (5 bytes => 5 (0x5)) +0000 - 17 03 03 00 a7 ..... +read from 0x1c0dd20 [0x1c13308] (167 bytes => 167 (0xA7)) +0000 - 80 ae b0 b8 00 a2 d6 6b-47 42 2c 5d 30 1c 04 bd .......kGB,]0... +0010 - 5c bb 84 61 20 5a 2e 0d-c5 79 28 a9 21 d6 ad 1b \..a Z...y(.!... +0020 - 99 e5 fc da a1 fb da bc-70 9e 9b ac 5a e1 0f 8e ........p...Z... +0030 - bb c8 6d cb 2e 27 af 9b-4a 6a e8 17 69 31 63 14 ..m..'..Jj..i1c. +0040 - 24 68 d7 6b cc a7 dc 24-7c d6 4b fa 2a 3e 38 61 $h.k...$|.K.*>8a +0050 - 58 57 4d e8 1c e7 66 3c-22 0f 07 62 42 14 e7 78 XWM...f<"..bB..x +0060 - 86 8a 6c 6f 8f 79 06 f6-dc 33 b5 e9 ec db b8 b4 ..lo.y...3...... +0070 - 0e 7d d7 08 17 cd 4d b3-ac 16 79 08 87 df 31 95 .}....M...y...1. +0080 - 03 8d 9e 8c 25 09 ca 38-d0 be ee 45 38 d8 c4 a5 ....%..8...E8... +0090 - c3 90 44 23 5d e7 9b 1b-c0 40 d2 cc 40 c5 4a e4 ..D#]....@..@.J. +00a0 - 25 38 8b 05 2f b2 33 %8../.3 +250-www192.vfemail.net +250-8BITMIME +250-AUTH PLAIN +250-BURL imap +250-CHUNKING +250-ENHANCEDSTATUSCODES +250-SIZE 78643200 +250 PIPELINING +\end{verbatim} +Here you might enter at the prompt +\\ +\\ +AUTH LOGIN + +But that will fail: + +\begin{verbatim} +AUTH LOGIN +write to 0x1c0dd20 [0x1c17853] (41 bytes => 41 (0x29)) +0000 - 17 03 03 00 24 2a 65 16-62 f5 2c 8c e6 59 01 74 ....$*e.b.,..Y.t +0010 - 10 99 f5 d2 e6 75 88 d3-b9 58 0e 92 78 fc f1 ad .....u...X..x... +0020 - c6 aa 50 2a 6c f4 cf e5-dd ..P*l.... +read from 0x1c0dd20 [0x1c13303] (5 bytes => 5 (0x5)) +0000 - 17 03 03 00 3a ....: +read from 0x1c0dd20 [0x1c13308] (58 bytes => 58 (0x3A)) +0000 - 80 ae b0 b8 00 a2 d6 6c-bf e5 f8 3d 5a 39 93 2b .......l...=Z9.+ +0010 - f8 a2 12 03 0f 0f 5c a3-95 0a 6c b6 d9 fa 3d 09 ......\...l...=. +0020 - 73 f7 5c 26 8c 41 aa cf-87 0f 65 61 52 7d ec f7 s.\&.A....eaR}.. +0030 - 4a fe cd a4 f8 3e be 48-a3 92 J....>.H.. +504 5.5.4 Authentication failed. + +\end{verbatim} + +If you look at the EHLO, it responds with what auth it supports. In this case, AUTH PLAIN. So it accepts plain text passwords (over an encrypted session of course). +\end{document} diff --git a/2020/Manual_Email_Server_Interaction/docs/2.tex~ b/2020/Manual_Email_Server_Interaction/docs/2.tex~ new file mode 100644 index 0000000..0ade1d5 --- /dev/null +++ b/2020/Manual_Email_Server_Interaction/docs/2.tex~ @@ -0,0 +1,93 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\title{\textbf{}} +\usepackage{graphicx} +\usepackage{caption } +\author{Steak Electronics} +\date{06/4/19} +\begin{document} + +%\maketitle +\textbf{Nextcloud Research} + +\vspace{0.2in} + +%\textbf{Todo} +\section{Manual Email Server Interaction} +How to send emails manually. This is essential for troubleshooting automated email systems. + +\section{Basics} + +\begin{verbatim} +openssl s_client -debug -starttls smtp -crlf -connect smtp.emailprovider.com:465 +then continue with +EHLO hostname +AUTH +etc... +\end{verbatim} + + +Here's an example: + +\begin{verbatim} +Compression: NONE +Expansion: NONE +No ALPN negotiated +SSL-Session: + Protocol : TLSv1.2 + Cipher : ECDHE-RSA-AES128-GCM-SHA256 + Session-ID: 480E968D62206D936801683C3BB12679DCB5CEDB0B20F4C3C2EB9DC97A54FAF4 + Session-ID-ctx: + Master-Key: BAB3C9AD7E209D2A979A621731BCB6A0B4368EEE03E2B99CF884D2671E2D62A1A365EEB50FC881CA2E4FD666082027BA + Key-Arg : None + PSK identity: None + PSK identity hint: None + SRP username: None + TLS session ticket lifetime hint: 300 (seconds) + TLS session ticket: + 0000 - 26 e3 0c d9 a7 0e b1 88-52 ce 35 aa a0 8d bd 40 &.......R.5....@ + 0010 - 0c 39 e4 60 04 59 06 bb-b2 7e 35 f9 56 36 d1 46 .9.`.Y...~5.V6.F + 0020 - d2 8c 48 29 44 fa 9f 2b-cd af fc 9a 68 b0 b8 63 ..H)D..+....h..c + 0030 - 35 06 cd ba 67 57 bf c4-84 19 5a 05 fd a7 62 51 5...gW....Z...bQ + 0040 - 1c 63 d7 b0 b4 ce 62 9f-66 13 7b 4c 74 54 86 fa .c....b.f.{LtT.. + 0050 - 3b 31 e1 e1 bd 19 29 e8-76 c2 6c 45 db 1d 32 50 ;1....).v.lE..2P + 0060 - 60 63 ec 38 a3 e5 de 26-d6 27 c6 26 60 09 1a 59 `c.8...&.'.&`..Y + 0070 - 59 e9 97 b4 07 9f 6c fc-46 cb 9e 0b 40 57 8f 71 Y.....l.F...@W.q + 0080 - 20 98 54 06 38 42 47 c1-e6 fd 74 92 dc 11 a5 97 .T.8BG...t..... + 0090 - 5d 81 7e 0b 66 b7 8e aa-c0 61 48 0c 90 84 ac 2d ].~.f....aH....- + + Start Time: 1590893833 + Timeout : 300 (sec) + Verify return code: 0 (ok) +--- +250 PIPELINING +EHLO localhost +write to 0x1c0dd20 [0x1c17853] (45 bytes => 45 (0x2D)) +0000 - 17 03 03 00 28 2a 65 16-62 f5 2c 8c e5 d9 f2 ef ....(*e.b.,..... +0010 - bb 8a ac 3a 6a dc db 32-79 56 7f 86 90 2e ed 44 ...:j..2yV.....D +0020 - 6e 6a ea 12 64 bb f8 1e-95 7e 63 16 c5 nj..d....~c.. +read from 0x1c0dd20 [0x1c13303] (5 bytes => 5 (0x5)) +0000 - 17 03 03 00 a7 ..... +read from 0x1c0dd20 [0x1c13308] (167 bytes => 167 (0xA7)) +0000 - 80 ae b0 b8 00 a2 d6 6b-47 42 2c 5d 30 1c 04 bd .......kGB,]0... +0010 - 5c bb 84 61 20 5a 2e 0d-c5 79 28 a9 21 d6 ad 1b \..a Z...y(.!... +0020 - 99 e5 fc da a1 fb da bc-70 9e 9b ac 5a e1 0f 8e ........p...Z... +0030 - bb c8 6d cb 2e 27 af 9b-4a 6a e8 17 69 31 63 14 ..m..'..Jj..i1c. +0040 - 24 68 d7 6b cc a7 dc 24-7c d6 4b fa 2a 3e 38 61 $h.k...$|.K.*>8a +0050 - 58 57 4d e8 1c e7 66 3c-22 0f 07 62 42 14 e7 78 XWM...f<"..bB..x +0060 - 86 8a 6c 6f 8f 79 06 f6-dc 33 b5 e9 ec db b8 b4 ..lo.y...3...... +0070 - 0e 7d d7 08 17 cd 4d b3-ac 16 79 08 87 df 31 95 .}....M...y...1. +0080 - 03 8d 9e 8c 25 09 ca 38-d0 be ee 45 38 d8 c4 a5 ....%..8...E8... +0090 - c3 90 44 23 5d e7 9b 1b-c0 40 d2 cc 40 c5 4a e4 ..D#]....@..@.J. +00a0 - 25 38 8b 05 2f b2 33 %8../.3 +250-www192.vfemail.net +250-8BITMIME +250-AUTH PLAIN +250-BURL imap +250-CHUNKING +250-ENHANCEDSTATUSCODES +250-SIZE 78643200 +250 PIPELINING +\end{verbatim} + +\end{document} diff --git a/2020/Manual_Email_Server_Interaction/docs/3.aux b/2020/Manual_Email_Server_Interaction/docs/3.aux new file mode 100644 index 0000000..beba759 --- /dev/null +++ b/2020/Manual_Email_Server_Interaction/docs/3.aux @@ -0,0 +1,3 @@ +\relax +\@writefile{toc}{\contentsline {section}{\numberline {1}Manual Email Server Interaction}{1}} +\@writefile{toc}{\contentsline {section}{\numberline {2}Basics}{1}} diff --git a/2020/Manual_Email_Server_Interaction/docs/3.log b/2020/Manual_Email_Server_Interaction/docs/3.log new file mode 100644 index 0000000..cb624c4 --- /dev/null +++ b/2020/Manual_Email_Server_Interaction/docs/3.log @@ -0,0 +1,392 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 30 MAY 2020 23:32 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2020/Manual_Em +ail_Server_Interaction/docs/3.tex + +(/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2020/Manual_Ema +il_Server_Interaction/docs/3.tex +LaTeX2e <2017/01/01> patch level 3 +Babel <3.9r> and hyphenation patterns for 3 language(s) loaded. +(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls +Document Class: article 2014/09/29 v1.4h Standard LaTeX document class +(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo +File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2014/10/28 v1.0g Enhanced LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks14 +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2016/10/09 v1.0u Standard LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: pdftex.def on input line 99. + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2017/01/12 v0.06k Graphics/color for pdfTeX + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty +Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty +Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) +) +\Gread@gobject=\count87 +)) +\Gin@req@height=\dimen103 +\Gin@req@width=\dimen104 +) +(/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty +Package: caption 2016/02/21 v3.3-144 Customizing captions (AR) + +(/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty +Package: caption3 2016/05/22 v1.7-166 caption3 kernel (AR) +Package caption3 Info: TeX engine: e-TeX on input line 67. +\captionmargin=\dimen105 +\captionmargin@=\dimen106 +\captionwidth=\dimen107 +\caption@tempdima=\dimen108 +\caption@indent=\dimen109 +\caption@parindent=\dimen110 +\caption@hangindent=\dimen111 +) +\c@ContinuedFloat=\count88 +) (./3.aux) +\openout1 = `3.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. + +(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count89 +\scratchdimen=\dimen112 +\scratchbox=\box26 +\nofMPsegments=\count90 +\nofMParguments=\count91 +\everyMPshowfont=\toks15 +\MPscratchCnt=\count92 +\MPscratchDim=\dimen113 +\MPnumerator=\count93 +\makeMPintoPDFobject=\count94 +\everyMPtoPDFconversion=\toks16 +) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty +Package: pdftexcmds 2016/05/21 v0.22 Utility functions of pdfTeX for LuaTeX (HO +) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty +Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) +Package ifluatex Info: LuaTeX not detected. +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2016/05/14 v3.1 Provides the ifpdf switch +) +Package pdftexcmds Info: LuaTeX not detected. +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode found. +) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty +Package: epstopdf-base 2016/05/15 v2.6 Base part for package epstopdf + +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty +Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty +Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO) +)) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty +Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty +Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty +Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) +Package etexcmds Info: Could not find \expanded. +(etexcmds) That can mean that you are not using pdfTeX 1.50 or +(etexcmds) that some package has redefined \expanded. +(etexcmds) In the latter case, load this package earlier. +))) +Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 +38. +Package grfext Info: Graphics extension search list: +(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE +G,.JBIG2,.JB2,.eps] +(grfext) \AppendGraphicsExtensions on input line 456. + +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv +e +)) +Package caption Info: Begin \AtBeginDocument code. +Package caption Info: End \AtBeginDocument code. + +Overfull \hbox (99.89502pt too wide) in paragraph at lines 27--27 +[]\OT1/cmtt/m/n/10.95 openssl s_client -debug -starttls smtp -crlf -connect smt +p.emailprovider.com:465[] + [] + + +Overfull \hbox (99.89502pt too wide) in paragraph at lines 91--91 +[] \OT1/cmtt/m/n/10.95 Session-ID: 480E968D62206D936801683C3BB12679DCB5CEDB0 +B20F4C3C2EB9DC97A54FAF4[] + [] + + +Overfull \hbox (283.85303pt too wide) in paragraph at lines 91--91 +[] \OT1/cmtt/m/n/10.95 Master-Key: BAB3C9AD7E209D2A979A621731BCB6A0B4368EEE0 +3E2B99CF884D2671E2D62A1A365EEB50FC881CA2E4FD666082027BA[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 91--91 +[] \OT1/cmtt/m/n/10.95 0000 - 26 e3 0c d9 a7 0e b1 88-52 ce 35 aa a0 8d bd 4 +0 &.......R.5....@[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 91--91 +[] \OT1/cmtt/m/n/10.95 0010 - 0c 39 e4 60 04 59 06 bb-b2 7e 35 f9 56 36 d1 4 +6 .9.`.Y...~5.V6.F[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 91--91 +[] \OT1/cmtt/m/n/10.95 0020 - d2 8c 48 29 44 fa 9f 2b-cd af fc 9a 68 b0 b8 6 +3 ..H)D..+....h..c[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 91--91 +[] \OT1/cmtt/m/n/10.95 0030 - 35 06 cd ba 67 57 bf c4-84 19 5a 05 fd a7 62 5 +1 5...gW....Z...bQ[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 91--91 +[] \OT1/cmtt/m/n/10.95 0040 - 1c 63 d7 b0 b4 ce 62 9f-66 13 7b 4c 74 54 86 f +a .c....b.f.{LtT..[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 91--91 +[] \OT1/cmtt/m/n/10.95 0050 - 3b 31 e1 e1 bd 19 29 e8-76 c2 6c 45 db 1d 32 5 +0 ;1....).v.lE..2P[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 91--91 +[] \OT1/cmtt/m/n/10.95 0060 - 60 63 ec 38 a3 e5 de 26-d6 27 c6 26 60 09 1a 5 +9 `c.8...&.'.&`..Y[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 91--91 +[] \OT1/cmtt/m/n/10.95 0070 - 59 e9 97 b4 07 9f 6c fc-46 cb 9e 0b 40 57 8f 7 +1 Y.....l.F...@W.q[] + [] + +[1 + +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] +Overfull \hbox (82.64896pt too wide) in paragraph at lines 91--91 +[] \OT1/cmtt/m/n/10.95 0080 - 20 98 54 06 38 42 47 c1-e6 fd 74 92 dc 11 a5 9 +7 .T.8BG...t.....[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 91--91 +[] \OT1/cmtt/m/n/10.95 0090 - 5d 81 7e 0b 66 b7 8e aa-c0 61 48 0c 90 84 ac 2 +d ].~.f....aH....-[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0000 - 17 03 03 00 28 2a 65 16-62 f5 2c 8c e5 d9 f2 ef +....(*e.b.,.....[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0010 - bb 8a ac 3a 6a dc db 32-79 56 7f 86 90 2e ed 44 +...:j..2yV.....D[] + [] + + +Overfull \hbox (42.40814pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0020 - 6e 6a ea 12 64 bb f8 1e-95 7e 63 16 c5 +nj..d....~c..[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0000 - 80 ae b0 b8 00 a2 d6 6b-47 42 2c 5d 30 1c 04 bd +.......kGB,]0...[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0010 - 5c bb 84 61 20 5a 2e 0d-c5 79 28 a9 21 d6 ad 1b +\..a Z...y(.!...[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0020 - 99 e5 fc da a1 fb da bc-70 9e 9b ac 5a e1 0f 8e +........p...Z...[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0030 - bb c8 6d cb 2e 27 af 9b-4a 6a e8 17 69 31 63 14 +..m..'..Jj..i1c.[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0040 - 24 68 d7 6b cc a7 dc 24-7c d6 4b fa 2a 3e 38 61 +$h.k...$|.K.*>8a[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0050 - 58 57 4d e8 1c e7 66 3c-22 0f 07 62 42 14 e7 78 +XWM...f<"..bB..x[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0060 - 86 8a 6c 6f 8f 79 06 f6-dc 33 b5 e9 ec db b8 b4 +..lo.y...3......[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0070 - 0e 7d d7 08 17 cd 4d b3-ac 16 79 08 87 df 31 95 +.}....M...y...1.[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0080 - 03 8d 9e 8c 25 09 ca 38-d0 be ee 45 38 d8 c4 a5 +....%..8...E8...[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0090 - c3 90 44 23 5d e7 9b 1b-c0 40 d2 cc 40 c5 4a e4 +..D#]....@..@.J.[] + [] + + +Overfull \hbox (7.91602pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 00a0 - 25 38 8b 05 2f b2 33 +%8../.3[] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 92--96 + + [] + +[2] +Overfull \hbox (59.6542pt too wide) in paragraph at lines 114--114 +[]\OT1/cmtt/m/n/10.95 0000 - 17 03 03 00 24 2a 65 16-62 f5 2c 8c e6 59 01 74 +....$*e.b.,..Y.t[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 114--114 +[]\OT1/cmtt/m/n/10.95 0010 - 10 99 f5 d2 e6 75 88 d3-b9 58 0e 92 78 fc f1 ad +.....u...X..x...[] + [] + + +Overfull \hbox (19.41339pt too wide) in paragraph at lines 114--114 +[]\OT1/cmtt/m/n/10.95 0020 - c6 aa 50 2a 6c f4 cf e5-dd +..P*l....[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 114--114 +[]\OT1/cmtt/m/n/10.95 0000 - 80 ae b0 b8 00 a2 d6 6c-bf e5 f8 3d 5a 39 93 2b +.......l...=Z9.+[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 114--114 +[]\OT1/cmtt/m/n/10.95 0010 - f8 a2 12 03 0f 0f 5c a3-95 0a 6c b6 d9 fa 3d 09 +......\...l...=.[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 114--114 +[]\OT1/cmtt/m/n/10.95 0020 - 73 f7 5c 26 8c 41 aa cf-87 0f 65 61 52 7d ec f7 +s.\&.A....eaR}..[] + [] + + +Overfull \hbox (25.16208pt too wide) in paragraph at lines 114--114 +[]\OT1/cmtt/m/n/10.95 0030 - 4a fe cd a4 f8 3e be 48-a3 92 +J....>.H..[] + [] + + +Overfull \hbox (7.67688pt too wide) in paragraph at lines 120--121 +[]\OT1/cmr/m/n/10.95 Specifies mech-a-nism for SMTP au-then-ti-ca-tion. (Only L +O-GIN and CRAM- + [] + +[3] (./3.aux) ) +Here is how much of TeX's memory you used: + 2539 strings out of 494945 + 40661 string characters out of 6181032 + 98811 words of memory out of 5000000 + 5844 multiletter control sequences out of 15000+600000 + 5021 words of font info for 19 fonts, out of 8000000 for 9000 + 14 hyphenation exceptions out of 8191 + 39i,5n,38p,340b,239s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on 3.pdf (3 pages, 69030 bytes). +PDF statistics: + 30 PDF objects out of 1000 (max. 8388607) + 20 compressed objects within 1 object stream + 0 named destinations out of 1000 (max. 500000) + 1 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/2020/Manual_Email_Server_Interaction/docs/3.pdf b/2020/Manual_Email_Server_Interaction/docs/3.pdf new file mode 100644 index 0000000..ebb6997 Binary files /dev/null and b/2020/Manual_Email_Server_Interaction/docs/3.pdf differ diff --git a/2020/Manual_Email_Server_Interaction/docs/3.tex b/2020/Manual_Email_Server_Interaction/docs/3.tex new file mode 100644 index 0000000..c94cdc7 --- /dev/null +++ b/2020/Manual_Email_Server_Interaction/docs/3.tex @@ -0,0 +1,129 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\title{\textbf{}} +\usepackage{graphicx} +\usepackage{caption } +\author{Steak Electronics} +\date{06/4/19} +\begin{document} + +%\maketitle +\textbf{Nextcloud Research} + +\vspace{0.2in} + +%\textbf{Todo} +\section{Manual Email Server Interaction} +How to send emails manually. This is essential for troubleshooting automated email systems. + +\section{Basics} + +\begin{verbatim} +openssl s_client -debug -starttls smtp -crlf -connect smtp.emailprovider.com:465 +then continue with +EHLO hostname +AUTH +etc... +\end{verbatim} + + +Here's an example: + +\begin{verbatim} +Compression: NONE +Expansion: NONE +No ALPN negotiated +SSL-Session: + Protocol : TLSv1.2 + Cipher : ECDHE-RSA-AES128-GCM-SHA256 + Session-ID: 480E968D62206D936801683C3BB12679DCB5CEDB0B20F4C3C2EB9DC97A54FAF4 + Session-ID-ctx: + Master-Key: BAB3C9AD7E209D2A979A621731BCB6A0B4368EEE03E2B99CF884D2671E2D62A1A365EEB50FC881CA2E4FD666082027BA + Key-Arg : None + PSK identity: None + PSK identity hint: None + SRP username: None + TLS session ticket lifetime hint: 300 (seconds) + TLS session ticket: + 0000 - 26 e3 0c d9 a7 0e b1 88-52 ce 35 aa a0 8d bd 40 &.......R.5....@ + 0010 - 0c 39 e4 60 04 59 06 bb-b2 7e 35 f9 56 36 d1 46 .9.`.Y...~5.V6.F + 0020 - d2 8c 48 29 44 fa 9f 2b-cd af fc 9a 68 b0 b8 63 ..H)D..+....h..c + 0030 - 35 06 cd ba 67 57 bf c4-84 19 5a 05 fd a7 62 51 5...gW....Z...bQ + 0040 - 1c 63 d7 b0 b4 ce 62 9f-66 13 7b 4c 74 54 86 fa .c....b.f.{LtT.. + 0050 - 3b 31 e1 e1 bd 19 29 e8-76 c2 6c 45 db 1d 32 50 ;1....).v.lE..2P + 0060 - 60 63 ec 38 a3 e5 de 26-d6 27 c6 26 60 09 1a 59 `c.8...&.'.&`..Y + 0070 - 59 e9 97 b4 07 9f 6c fc-46 cb 9e 0b 40 57 8f 71 Y.....l.F...@W.q + 0080 - 20 98 54 06 38 42 47 c1-e6 fd 74 92 dc 11 a5 97 .T.8BG...t..... + 0090 - 5d 81 7e 0b 66 b7 8e aa-c0 61 48 0c 90 84 ac 2d ].~.f....aH....- + + Start Time: 1590893833 + Timeout : 300 (sec) + Verify return code: 0 (ok) +--- +250 PIPELINING +EHLO localhost +write to 0x1c0dd20 [0x1c17853] (45 bytes => 45 (0x2D)) +0000 - 17 03 03 00 28 2a 65 16-62 f5 2c 8c e5 d9 f2 ef ....(*e.b.,..... +0010 - bb 8a ac 3a 6a dc db 32-79 56 7f 86 90 2e ed 44 ...:j..2yV.....D +0020 - 6e 6a ea 12 64 bb f8 1e-95 7e 63 16 c5 nj..d....~c.. +read from 0x1c0dd20 [0x1c13303] (5 bytes => 5 (0x5)) +0000 - 17 03 03 00 a7 ..... +read from 0x1c0dd20 [0x1c13308] (167 bytes => 167 (0xA7)) +0000 - 80 ae b0 b8 00 a2 d6 6b-47 42 2c 5d 30 1c 04 bd .......kGB,]0... +0010 - 5c bb 84 61 20 5a 2e 0d-c5 79 28 a9 21 d6 ad 1b \..a Z...y(.!... +0020 - 99 e5 fc da a1 fb da bc-70 9e 9b ac 5a e1 0f 8e ........p...Z... +0030 - bb c8 6d cb 2e 27 af 9b-4a 6a e8 17 69 31 63 14 ..m..'..Jj..i1c. +0040 - 24 68 d7 6b cc a7 dc 24-7c d6 4b fa 2a 3e 38 61 $h.k...$|.K.*>8a +0050 - 58 57 4d e8 1c e7 66 3c-22 0f 07 62 42 14 e7 78 XWM...f<"..bB..x +0060 - 86 8a 6c 6f 8f 79 06 f6-dc 33 b5 e9 ec db b8 b4 ..lo.y...3...... +0070 - 0e 7d d7 08 17 cd 4d b3-ac 16 79 08 87 df 31 95 .}....M...y...1. +0080 - 03 8d 9e 8c 25 09 ca 38-d0 be ee 45 38 d8 c4 a5 ....%..8...E8... +0090 - c3 90 44 23 5d e7 9b 1b-c0 40 d2 cc 40 c5 4a e4 ..D#]....@..@.J. +00a0 - 25 38 8b 05 2f b2 33 %8../.3 +250-www192.vfemail.net +250-8BITMIME +250-AUTH PLAIN +250-BURL imap +250-CHUNKING +250-ENHANCEDSTATUSCODES +250-SIZE 78643200 +250 PIPELINING +\end{verbatim} +Here you might enter at the prompt +\\ +\\ +AUTH LOGIN + +But that will fail: + +\begin{verbatim} +AUTH LOGIN +write to 0x1c0dd20 [0x1c17853] (41 bytes => 41 (0x29)) +0000 - 17 03 03 00 24 2a 65 16-62 f5 2c 8c e6 59 01 74 ....$*e.b.,..Y.t +0010 - 10 99 f5 d2 e6 75 88 d3-b9 58 0e 92 78 fc f1 ad .....u...X..x... +0020 - c6 aa 50 2a 6c f4 cf e5-dd ..P*l.... +read from 0x1c0dd20 [0x1c13303] (5 bytes => 5 (0x5)) +0000 - 17 03 03 00 3a ....: +read from 0x1c0dd20 [0x1c13308] (58 bytes => 58 (0x3A)) +0000 - 80 ae b0 b8 00 a2 d6 6c-bf e5 f8 3d 5a 39 93 2b .......l...=Z9.+ +0010 - f8 a2 12 03 0f 0f 5c a3-95 0a 6c b6 d9 fa 3d 09 ......\...l...=. +0020 - 73 f7 5c 26 8c 41 aa cf-87 0f 65 61 52 7d ec f7 s.\&.A....eaR}.. +0030 - 4a fe cd a4 f8 3e be 48-a3 92 J....>.H.. +504 5.5.4 Authentication failed. + +\end{verbatim} + +If you look at the EHLO, it responds with what auth it supports. In this case, AUTH PLAIN. So it accepts plain text passwords (over an encrypted session of course). + +Unfortunately, ssmtp (which I'm using) doesn't support plain. from ssmtp manual: + +Specifies mechanism for SMTP authentication. (Only LOGIN and CRAM-MD5) + + +\begin{verbatim} + +ref: https://wiki.zoneminder.com/SMS_Notifications +\end{verbatim} + + +\end{document} diff --git a/2020/Manual_Email_Server_Interaction/docs/3.tex~ b/2020/Manual_Email_Server_Interaction/docs/3.tex~ new file mode 100644 index 0000000..82606ac --- /dev/null +++ b/2020/Manual_Email_Server_Interaction/docs/3.tex~ @@ -0,0 +1,123 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\title{\textbf{}} +\usepackage{graphicx} +\usepackage{caption } +\author{Steak Electronics} +\date{06/4/19} +\begin{document} + +%\maketitle +\textbf{Nextcloud Research} + +\vspace{0.2in} + +%\textbf{Todo} +\section{Manual Email Server Interaction} +How to send emails manually. This is essential for troubleshooting automated email systems. + +\section{Basics} + +\begin{verbatim} +openssl s_client -debug -starttls smtp -crlf -connect smtp.emailprovider.com:465 +then continue with +EHLO hostname +AUTH +etc... +\end{verbatim} + + +Here's an example: + +\begin{verbatim} +Compression: NONE +Expansion: NONE +No ALPN negotiated +SSL-Session: + Protocol : TLSv1.2 + Cipher : ECDHE-RSA-AES128-GCM-SHA256 + Session-ID: 480E968D62206D936801683C3BB12679DCB5CEDB0B20F4C3C2EB9DC97A54FAF4 + Session-ID-ctx: + Master-Key: BAB3C9AD7E209D2A979A621731BCB6A0B4368EEE03E2B99CF884D2671E2D62A1A365EEB50FC881CA2E4FD666082027BA + Key-Arg : None + PSK identity: None + PSK identity hint: None + SRP username: None + TLS session ticket lifetime hint: 300 (seconds) + TLS session ticket: + 0000 - 26 e3 0c d9 a7 0e b1 88-52 ce 35 aa a0 8d bd 40 &.......R.5....@ + 0010 - 0c 39 e4 60 04 59 06 bb-b2 7e 35 f9 56 36 d1 46 .9.`.Y...~5.V6.F + 0020 - d2 8c 48 29 44 fa 9f 2b-cd af fc 9a 68 b0 b8 63 ..H)D..+....h..c + 0030 - 35 06 cd ba 67 57 bf c4-84 19 5a 05 fd a7 62 51 5...gW....Z...bQ + 0040 - 1c 63 d7 b0 b4 ce 62 9f-66 13 7b 4c 74 54 86 fa .c....b.f.{LtT.. + 0050 - 3b 31 e1 e1 bd 19 29 e8-76 c2 6c 45 db 1d 32 50 ;1....).v.lE..2P + 0060 - 60 63 ec 38 a3 e5 de 26-d6 27 c6 26 60 09 1a 59 `c.8...&.'.&`..Y + 0070 - 59 e9 97 b4 07 9f 6c fc-46 cb 9e 0b 40 57 8f 71 Y.....l.F...@W.q + 0080 - 20 98 54 06 38 42 47 c1-e6 fd 74 92 dc 11 a5 97 .T.8BG...t..... + 0090 - 5d 81 7e 0b 66 b7 8e aa-c0 61 48 0c 90 84 ac 2d ].~.f....aH....- + + Start Time: 1590893833 + Timeout : 300 (sec) + Verify return code: 0 (ok) +--- +250 PIPELINING +EHLO localhost +write to 0x1c0dd20 [0x1c17853] (45 bytes => 45 (0x2D)) +0000 - 17 03 03 00 28 2a 65 16-62 f5 2c 8c e5 d9 f2 ef ....(*e.b.,..... +0010 - bb 8a ac 3a 6a dc db 32-79 56 7f 86 90 2e ed 44 ...:j..2yV.....D +0020 - 6e 6a ea 12 64 bb f8 1e-95 7e 63 16 c5 nj..d....~c.. +read from 0x1c0dd20 [0x1c13303] (5 bytes => 5 (0x5)) +0000 - 17 03 03 00 a7 ..... +read from 0x1c0dd20 [0x1c13308] (167 bytes => 167 (0xA7)) +0000 - 80 ae b0 b8 00 a2 d6 6b-47 42 2c 5d 30 1c 04 bd .......kGB,]0... +0010 - 5c bb 84 61 20 5a 2e 0d-c5 79 28 a9 21 d6 ad 1b \..a Z...y(.!... +0020 - 99 e5 fc da a1 fb da bc-70 9e 9b ac 5a e1 0f 8e ........p...Z... +0030 - bb c8 6d cb 2e 27 af 9b-4a 6a e8 17 69 31 63 14 ..m..'..Jj..i1c. +0040 - 24 68 d7 6b cc a7 dc 24-7c d6 4b fa 2a 3e 38 61 $h.k...$|.K.*>8a +0050 - 58 57 4d e8 1c e7 66 3c-22 0f 07 62 42 14 e7 78 XWM...f<"..bB..x +0060 - 86 8a 6c 6f 8f 79 06 f6-dc 33 b5 e9 ec db b8 b4 ..lo.y...3...... +0070 - 0e 7d d7 08 17 cd 4d b3-ac 16 79 08 87 df 31 95 .}....M...y...1. +0080 - 03 8d 9e 8c 25 09 ca 38-d0 be ee 45 38 d8 c4 a5 ....%..8...E8... +0090 - c3 90 44 23 5d e7 9b 1b-c0 40 d2 cc 40 c5 4a e4 ..D#]....@..@.J. +00a0 - 25 38 8b 05 2f b2 33 %8../.3 +250-www192.vfemail.net +250-8BITMIME +250-AUTH PLAIN +250-BURL imap +250-CHUNKING +250-ENHANCEDSTATUSCODES +250-SIZE 78643200 +250 PIPELINING +\end{verbatim} +Here you might enter at the prompt +\\ +\\ +AUTH LOGIN + +But that will fail: + +\begin{verbatim} +AUTH LOGIN +write to 0x1c0dd20 [0x1c17853] (41 bytes => 41 (0x29)) +0000 - 17 03 03 00 24 2a 65 16-62 f5 2c 8c e6 59 01 74 ....$*e.b.,..Y.t +0010 - 10 99 f5 d2 e6 75 88 d3-b9 58 0e 92 78 fc f1 ad .....u...X..x... +0020 - c6 aa 50 2a 6c f4 cf e5-dd ..P*l.... +read from 0x1c0dd20 [0x1c13303] (5 bytes => 5 (0x5)) +0000 - 17 03 03 00 3a ....: +read from 0x1c0dd20 [0x1c13308] (58 bytes => 58 (0x3A)) +0000 - 80 ae b0 b8 00 a2 d6 6c-bf e5 f8 3d 5a 39 93 2b .......l...=Z9.+ +0010 - f8 a2 12 03 0f 0f 5c a3-95 0a 6c b6 d9 fa 3d 09 ......\...l...=. +0020 - 73 f7 5c 26 8c 41 aa cf-87 0f 65 61 52 7d ec f7 s.\&.A....eaR}.. +0030 - 4a fe cd a4 f8 3e be 48-a3 92 J....>.H.. +504 5.5.4 Authentication failed. + +\end{verbatim} + +If you look at the EHLO, it responds with what auth it supports. In this case, AUTH PLAIN. So it accepts plain text passwords (over an encrypted session of course). + +Unfortunately, ssmtp doesn't support plain. from ssmtp manual: + +Specifies mechanism for SMTP authentication. (Only LOGIN and CRAM-MD5) + + +\end{document} diff --git a/2020/Manual_Email_Server_Interaction/docs/4.aux b/2020/Manual_Email_Server_Interaction/docs/4.aux new file mode 100644 index 0000000..beba759 --- /dev/null +++ b/2020/Manual_Email_Server_Interaction/docs/4.aux @@ -0,0 +1,3 @@ +\relax +\@writefile{toc}{\contentsline {section}{\numberline {1}Manual Email Server Interaction}{1}} +\@writefile{toc}{\contentsline {section}{\numberline {2}Basics}{1}} diff --git a/2020/Manual_Email_Server_Interaction/docs/4.log b/2020/Manual_Email_Server_Interaction/docs/4.log new file mode 100644 index 0000000..f3e5d6e --- /dev/null +++ b/2020/Manual_Email_Server_Interaction/docs/4.log @@ -0,0 +1,392 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 18 JUN 2020 13:23 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2020/Manual_Em +ail_Server_Interaction/docs/4.tex + +(/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2020/Manual_Ema +il_Server_Interaction/docs/4.tex +LaTeX2e <2017/01/01> patch level 3 +Babel <3.9r> and hyphenation patterns for 3 language(s) loaded. +(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls +Document Class: article 2014/09/29 v1.4h Standard LaTeX document class +(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo +File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2014/10/28 v1.0g Enhanced LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks14 +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2016/10/09 v1.0u Standard LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: pdftex.def on input line 99. + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2017/01/12 v0.06k Graphics/color for pdfTeX + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty +Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty +Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) +) +\Gread@gobject=\count87 +)) +\Gin@req@height=\dimen103 +\Gin@req@width=\dimen104 +) +(/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty +Package: caption 2016/02/21 v3.3-144 Customizing captions (AR) + +(/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty +Package: caption3 2016/05/22 v1.7-166 caption3 kernel (AR) +Package caption3 Info: TeX engine: e-TeX on input line 67. +\captionmargin=\dimen105 +\captionmargin@=\dimen106 +\captionwidth=\dimen107 +\caption@tempdima=\dimen108 +\caption@indent=\dimen109 +\caption@parindent=\dimen110 +\caption@hangindent=\dimen111 +) +\c@ContinuedFloat=\count88 +) (./4.aux) +\openout1 = `4.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. + +(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count89 +\scratchdimen=\dimen112 +\scratchbox=\box26 +\nofMPsegments=\count90 +\nofMParguments=\count91 +\everyMPshowfont=\toks15 +\MPscratchCnt=\count92 +\MPscratchDim=\dimen113 +\MPnumerator=\count93 +\makeMPintoPDFobject=\count94 +\everyMPtoPDFconversion=\toks16 +) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty +Package: pdftexcmds 2016/05/21 v0.22 Utility functions of pdfTeX for LuaTeX (HO +) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty +Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) +Package ifluatex Info: LuaTeX not detected. +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2016/05/14 v3.1 Provides the ifpdf switch +) +Package pdftexcmds Info: LuaTeX not detected. +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode found. +) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty +Package: epstopdf-base 2016/05/15 v2.6 Base part for package epstopdf + +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty +Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty +Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO) +)) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty +Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty +Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty +Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) +Package etexcmds Info: Could not find \expanded. +(etexcmds) That can mean that you are not using pdfTeX 1.50 or +(etexcmds) that some package has redefined \expanded. +(etexcmds) In the latter case, load this package earlier. +))) +Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 +38. +Package grfext Info: Graphics extension search list: +(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE +G,.JBIG2,.JB2,.eps] +(grfext) \AppendGraphicsExtensions on input line 456. + +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv +e +)) +Package caption Info: Begin \AtBeginDocument code. +Package caption Info: End \AtBeginDocument code. + +Overfull \hbox (99.89502pt too wide) in paragraph at lines 27--27 +[]\OT1/cmtt/m/n/10.95 openssl s_client -debug -starttls smtp -crlf -connect smt +p.emailprovider.com:465[] + [] + + +Overfull \hbox (99.89502pt too wide) in paragraph at lines 91--91 +[] \OT1/cmtt/m/n/10.95 Session-ID: 480E968D62206D936801683C3BB12679DCB5CEDB0 +B20F4C3C2EB9DC97A54FAF4[] + [] + + +Overfull \hbox (283.85303pt too wide) in paragraph at lines 91--91 +[] \OT1/cmtt/m/n/10.95 Master-Key: BAB3C9AD7E209D2A979A621731BCB6A0B4368EEE0 +3E2B99CF884D2671E2D62A1A365EEB50FC881CA2E4FD666082027BA[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 91--91 +[] \OT1/cmtt/m/n/10.95 0000 - 26 e3 0c d9 a7 0e b1 88-52 ce 35 aa a0 8d bd 4 +0 &.......R.5....@[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 91--91 +[] \OT1/cmtt/m/n/10.95 0010 - 0c 39 e4 60 04 59 06 bb-b2 7e 35 f9 56 36 d1 4 +6 .9.`.Y...~5.V6.F[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 91--91 +[] \OT1/cmtt/m/n/10.95 0020 - d2 8c 48 29 44 fa 9f 2b-cd af fc 9a 68 b0 b8 6 +3 ..H)D..+....h..c[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 91--91 +[] \OT1/cmtt/m/n/10.95 0030 - 35 06 cd ba 67 57 bf c4-84 19 5a 05 fd a7 62 5 +1 5...gW....Z...bQ[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 91--91 +[] \OT1/cmtt/m/n/10.95 0040 - 1c 63 d7 b0 b4 ce 62 9f-66 13 7b 4c 74 54 86 f +a .c....b.f.{LtT..[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 91--91 +[] \OT1/cmtt/m/n/10.95 0050 - 3b 31 e1 e1 bd 19 29 e8-76 c2 6c 45 db 1d 32 5 +0 ;1....).v.lE..2P[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 91--91 +[] \OT1/cmtt/m/n/10.95 0060 - 60 63 ec 38 a3 e5 de 26-d6 27 c6 26 60 09 1a 5 +9 `c.8...&.'.&`..Y[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 91--91 +[] \OT1/cmtt/m/n/10.95 0070 - 59 e9 97 b4 07 9f 6c fc-46 cb 9e 0b 40 57 8f 7 +1 Y.....l.F...@W.q[] + [] + +[1 + +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] +Overfull \hbox (82.64896pt too wide) in paragraph at lines 91--91 +[] \OT1/cmtt/m/n/10.95 0080 - 20 98 54 06 38 42 47 c1-e6 fd 74 92 dc 11 a5 9 +7 .T.8BG...t.....[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 91--91 +[] \OT1/cmtt/m/n/10.95 0090 - 5d 81 7e 0b 66 b7 8e aa-c0 61 48 0c 90 84 ac 2 +d ].~.f....aH....-[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0000 - 17 03 03 00 28 2a 65 16-62 f5 2c 8c e5 d9 f2 ef +....(*e.b.,.....[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0010 - bb 8a ac 3a 6a dc db 32-79 56 7f 86 90 2e ed 44 +...:j..2yV.....D[] + [] + + +Overfull \hbox (42.40814pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0020 - 6e 6a ea 12 64 bb f8 1e-95 7e 63 16 c5 +nj..d....~c..[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0000 - 80 ae b0 b8 00 a2 d6 6b-47 42 2c 5d 30 1c 04 bd +.......kGB,]0...[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0010 - 5c bb 84 61 20 5a 2e 0d-c5 79 28 a9 21 d6 ad 1b +\..a Z...y(.!...[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0020 - 99 e5 fc da a1 fb da bc-70 9e 9b ac 5a e1 0f 8e +........p...Z...[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0030 - bb c8 6d cb 2e 27 af 9b-4a 6a e8 17 69 31 63 14 +..m..'..Jj..i1c.[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0040 - 24 68 d7 6b cc a7 dc 24-7c d6 4b fa 2a 3e 38 61 +$h.k...$|.K.*>8a[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0050 - 58 57 4d e8 1c e7 66 3c-22 0f 07 62 42 14 e7 78 +XWM...f<"..bB..x[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0060 - 86 8a 6c 6f 8f 79 06 f6-dc 33 b5 e9 ec db b8 b4 +..lo.y...3......[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0070 - 0e 7d d7 08 17 cd 4d b3-ac 16 79 08 87 df 31 95 +.}....M...y...1.[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0080 - 03 8d 9e 8c 25 09 ca 38-d0 be ee 45 38 d8 c4 a5 +....%..8...E8...[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 0090 - c3 90 44 23 5d e7 9b 1b-c0 40 d2 cc 40 c5 4a e4 +..D#]....@..@.J.[] + [] + + +Overfull \hbox (7.91602pt too wide) in paragraph at lines 91--91 +[]\OT1/cmtt/m/n/10.95 00a0 - 25 38 8b 05 2f b2 33 +%8../.3[] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 92--96 + + [] + +[2] +Overfull \hbox (59.6542pt too wide) in paragraph at lines 114--114 +[]\OT1/cmtt/m/n/10.95 0000 - 17 03 03 00 24 2a 65 16-62 f5 2c 8c e6 59 01 74 +....$*e.b.,..Y.t[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 114--114 +[]\OT1/cmtt/m/n/10.95 0010 - 10 99 f5 d2 e6 75 88 d3-b9 58 0e 92 78 fc f1 ad +.....u...X..x...[] + [] + + +Overfull \hbox (19.41339pt too wide) in paragraph at lines 114--114 +[]\OT1/cmtt/m/n/10.95 0020 - c6 aa 50 2a 6c f4 cf e5-dd +..P*l....[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 114--114 +[]\OT1/cmtt/m/n/10.95 0000 - 80 ae b0 b8 00 a2 d6 6c-bf e5 f8 3d 5a 39 93 2b +.......l...=Z9.+[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 114--114 +[]\OT1/cmtt/m/n/10.95 0010 - f8 a2 12 03 0f 0f 5c a3-95 0a 6c b6 d9 fa 3d 09 +......\...l...=.[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 114--114 +[]\OT1/cmtt/m/n/10.95 0020 - 73 f7 5c 26 8c 41 aa cf-87 0f 65 61 52 7d ec f7 +s.\&.A....eaR}..[] + [] + + +Overfull \hbox (25.16208pt too wide) in paragraph at lines 114--114 +[]\OT1/cmtt/m/n/10.95 0030 - 4a fe cd a4 f8 3e be 48-a3 92 +J....>.H..[] + [] + + +Overfull \hbox (7.67688pt too wide) in paragraph at lines 120--121 +[]\OT1/cmr/m/n/10.95 Specifies mech-a-nism for SMTP au-then-ti-ca-tion. (Only L +O-GIN and CRAM- + [] + +[3] (./4.aux) ) +Here is how much of TeX's memory you used: + 2539 strings out of 494945 + 40661 string characters out of 6181032 + 98811 words of memory out of 5000000 + 5844 multiletter control sequences out of 15000+600000 + 5021 words of font info for 19 fonts, out of 8000000 for 9000 + 14 hyphenation exceptions out of 8191 + 39i,5n,38p,340b,239s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on 4.pdf (3 pages, 69030 bytes). +PDF statistics: + 30 PDF objects out of 1000 (max. 8388607) + 20 compressed objects within 1 object stream + 0 named destinations out of 1000 (max. 500000) + 1 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/2020/Manual_Email_Server_Interaction/docs/4.pdf b/2020/Manual_Email_Server_Interaction/docs/4.pdf new file mode 100644 index 0000000..3b34227 Binary files /dev/null and b/2020/Manual_Email_Server_Interaction/docs/4.pdf differ diff --git a/2020/Manual_Email_Server_Interaction/docs/4.tex b/2020/Manual_Email_Server_Interaction/docs/4.tex new file mode 100644 index 0000000..c94cdc7 --- /dev/null +++ b/2020/Manual_Email_Server_Interaction/docs/4.tex @@ -0,0 +1,129 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\title{\textbf{}} +\usepackage{graphicx} +\usepackage{caption } +\author{Steak Electronics} +\date{06/4/19} +\begin{document} + +%\maketitle +\textbf{Nextcloud Research} + +\vspace{0.2in} + +%\textbf{Todo} +\section{Manual Email Server Interaction} +How to send emails manually. This is essential for troubleshooting automated email systems. + +\section{Basics} + +\begin{verbatim} +openssl s_client -debug -starttls smtp -crlf -connect smtp.emailprovider.com:465 +then continue with +EHLO hostname +AUTH +etc... +\end{verbatim} + + +Here's an example: + +\begin{verbatim} +Compression: NONE +Expansion: NONE +No ALPN negotiated +SSL-Session: + Protocol : TLSv1.2 + Cipher : ECDHE-RSA-AES128-GCM-SHA256 + Session-ID: 480E968D62206D936801683C3BB12679DCB5CEDB0B20F4C3C2EB9DC97A54FAF4 + Session-ID-ctx: + Master-Key: BAB3C9AD7E209D2A979A621731BCB6A0B4368EEE03E2B99CF884D2671E2D62A1A365EEB50FC881CA2E4FD666082027BA + Key-Arg : None + PSK identity: None + PSK identity hint: None + SRP username: None + TLS session ticket lifetime hint: 300 (seconds) + TLS session ticket: + 0000 - 26 e3 0c d9 a7 0e b1 88-52 ce 35 aa a0 8d bd 40 &.......R.5....@ + 0010 - 0c 39 e4 60 04 59 06 bb-b2 7e 35 f9 56 36 d1 46 .9.`.Y...~5.V6.F + 0020 - d2 8c 48 29 44 fa 9f 2b-cd af fc 9a 68 b0 b8 63 ..H)D..+....h..c + 0030 - 35 06 cd ba 67 57 bf c4-84 19 5a 05 fd a7 62 51 5...gW....Z...bQ + 0040 - 1c 63 d7 b0 b4 ce 62 9f-66 13 7b 4c 74 54 86 fa .c....b.f.{LtT.. + 0050 - 3b 31 e1 e1 bd 19 29 e8-76 c2 6c 45 db 1d 32 50 ;1....).v.lE..2P + 0060 - 60 63 ec 38 a3 e5 de 26-d6 27 c6 26 60 09 1a 59 `c.8...&.'.&`..Y + 0070 - 59 e9 97 b4 07 9f 6c fc-46 cb 9e 0b 40 57 8f 71 Y.....l.F...@W.q + 0080 - 20 98 54 06 38 42 47 c1-e6 fd 74 92 dc 11 a5 97 .T.8BG...t..... + 0090 - 5d 81 7e 0b 66 b7 8e aa-c0 61 48 0c 90 84 ac 2d ].~.f....aH....- + + Start Time: 1590893833 + Timeout : 300 (sec) + Verify return code: 0 (ok) +--- +250 PIPELINING +EHLO localhost +write to 0x1c0dd20 [0x1c17853] (45 bytes => 45 (0x2D)) +0000 - 17 03 03 00 28 2a 65 16-62 f5 2c 8c e5 d9 f2 ef ....(*e.b.,..... +0010 - bb 8a ac 3a 6a dc db 32-79 56 7f 86 90 2e ed 44 ...:j..2yV.....D +0020 - 6e 6a ea 12 64 bb f8 1e-95 7e 63 16 c5 nj..d....~c.. +read from 0x1c0dd20 [0x1c13303] (5 bytes => 5 (0x5)) +0000 - 17 03 03 00 a7 ..... +read from 0x1c0dd20 [0x1c13308] (167 bytes => 167 (0xA7)) +0000 - 80 ae b0 b8 00 a2 d6 6b-47 42 2c 5d 30 1c 04 bd .......kGB,]0... +0010 - 5c bb 84 61 20 5a 2e 0d-c5 79 28 a9 21 d6 ad 1b \..a Z...y(.!... +0020 - 99 e5 fc da a1 fb da bc-70 9e 9b ac 5a e1 0f 8e ........p...Z... +0030 - bb c8 6d cb 2e 27 af 9b-4a 6a e8 17 69 31 63 14 ..m..'..Jj..i1c. +0040 - 24 68 d7 6b cc a7 dc 24-7c d6 4b fa 2a 3e 38 61 $h.k...$|.K.*>8a +0050 - 58 57 4d e8 1c e7 66 3c-22 0f 07 62 42 14 e7 78 XWM...f<"..bB..x +0060 - 86 8a 6c 6f 8f 79 06 f6-dc 33 b5 e9 ec db b8 b4 ..lo.y...3...... +0070 - 0e 7d d7 08 17 cd 4d b3-ac 16 79 08 87 df 31 95 .}....M...y...1. +0080 - 03 8d 9e 8c 25 09 ca 38-d0 be ee 45 38 d8 c4 a5 ....%..8...E8... +0090 - c3 90 44 23 5d e7 9b 1b-c0 40 d2 cc 40 c5 4a e4 ..D#]....@..@.J. +00a0 - 25 38 8b 05 2f b2 33 %8../.3 +250-www192.vfemail.net +250-8BITMIME +250-AUTH PLAIN +250-BURL imap +250-CHUNKING +250-ENHANCEDSTATUSCODES +250-SIZE 78643200 +250 PIPELINING +\end{verbatim} +Here you might enter at the prompt +\\ +\\ +AUTH LOGIN + +But that will fail: + +\begin{verbatim} +AUTH LOGIN +write to 0x1c0dd20 [0x1c17853] (41 bytes => 41 (0x29)) +0000 - 17 03 03 00 24 2a 65 16-62 f5 2c 8c e6 59 01 74 ....$*e.b.,..Y.t +0010 - 10 99 f5 d2 e6 75 88 d3-b9 58 0e 92 78 fc f1 ad .....u...X..x... +0020 - c6 aa 50 2a 6c f4 cf e5-dd ..P*l.... +read from 0x1c0dd20 [0x1c13303] (5 bytes => 5 (0x5)) +0000 - 17 03 03 00 3a ....: +read from 0x1c0dd20 [0x1c13308] (58 bytes => 58 (0x3A)) +0000 - 80 ae b0 b8 00 a2 d6 6c-bf e5 f8 3d 5a 39 93 2b .......l...=Z9.+ +0010 - f8 a2 12 03 0f 0f 5c a3-95 0a 6c b6 d9 fa 3d 09 ......\...l...=. +0020 - 73 f7 5c 26 8c 41 aa cf-87 0f 65 61 52 7d ec f7 s.\&.A....eaR}.. +0030 - 4a fe cd a4 f8 3e be 48-a3 92 J....>.H.. +504 5.5.4 Authentication failed. + +\end{verbatim} + +If you look at the EHLO, it responds with what auth it supports. In this case, AUTH PLAIN. So it accepts plain text passwords (over an encrypted session of course). + +Unfortunately, ssmtp (which I'm using) doesn't support plain. from ssmtp manual: + +Specifies mechanism for SMTP authentication. (Only LOGIN and CRAM-MD5) + + +\begin{verbatim} + +ref: https://wiki.zoneminder.com/SMS_Notifications +\end{verbatim} + + +\end{document} diff --git a/2020/Manual_Email_Server_Interaction/docs/5.aux b/2020/Manual_Email_Server_Interaction/docs/5.aux new file mode 100644 index 0000000..beba759 --- /dev/null +++ b/2020/Manual_Email_Server_Interaction/docs/5.aux @@ -0,0 +1,3 @@ +\relax +\@writefile{toc}{\contentsline {section}{\numberline {1}Manual Email Server Interaction}{1}} +\@writefile{toc}{\contentsline {section}{\numberline {2}Basics}{1}} diff --git a/2020/Manual_Email_Server_Interaction/docs/5.log b/2020/Manual_Email_Server_Interaction/docs/5.log new file mode 100644 index 0000000..ad93702 --- /dev/null +++ b/2020/Manual_Email_Server_Interaction/docs/5.log @@ -0,0 +1,392 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 18 JUN 2020 13:27 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2020/Manual_Em +ail_Server_Interaction/docs/5.tex + +(/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2020/Manual_Ema +il_Server_Interaction/docs/5.tex +LaTeX2e <2017/01/01> patch level 3 +Babel <3.9r> and hyphenation patterns for 3 language(s) loaded. +(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls +Document Class: article 2014/09/29 v1.4h Standard LaTeX document class +(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo +File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2014/10/28 v1.0g Enhanced LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks14 +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2016/10/09 v1.0u Standard LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: pdftex.def on input line 99. + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2017/01/12 v0.06k Graphics/color for pdfTeX + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty +Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty +Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) +) +\Gread@gobject=\count87 +)) +\Gin@req@height=\dimen103 +\Gin@req@width=\dimen104 +) +(/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty +Package: caption 2016/02/21 v3.3-144 Customizing captions (AR) + +(/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty +Package: caption3 2016/05/22 v1.7-166 caption3 kernel (AR) +Package caption3 Info: TeX engine: e-TeX on input line 67. +\captionmargin=\dimen105 +\captionmargin@=\dimen106 +\captionwidth=\dimen107 +\caption@tempdima=\dimen108 +\caption@indent=\dimen109 +\caption@parindent=\dimen110 +\caption@hangindent=\dimen111 +) +\c@ContinuedFloat=\count88 +) (./5.aux) +\openout1 = `5.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. + +(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count89 +\scratchdimen=\dimen112 +\scratchbox=\box26 +\nofMPsegments=\count90 +\nofMParguments=\count91 +\everyMPshowfont=\toks15 +\MPscratchCnt=\count92 +\MPscratchDim=\dimen113 +\MPnumerator=\count93 +\makeMPintoPDFobject=\count94 +\everyMPtoPDFconversion=\toks16 +) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty +Package: pdftexcmds 2016/05/21 v0.22 Utility functions of pdfTeX for LuaTeX (HO +) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty +Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) +Package ifluatex Info: LuaTeX not detected. +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2016/05/14 v3.1 Provides the ifpdf switch +) +Package pdftexcmds Info: LuaTeX not detected. +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode found. +) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty +Package: epstopdf-base 2016/05/15 v2.6 Base part for package epstopdf + +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty +Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty +Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO) +)) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty +Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty +Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty +Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) +Package etexcmds Info: Could not find \expanded. +(etexcmds) That can mean that you are not using pdfTeX 1.50 or +(etexcmds) that some package has redefined \expanded. +(etexcmds) In the latter case, load this package earlier. +))) +Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 +38. +Package grfext Info: Graphics extension search list: +(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE +G,.JBIG2,.JB2,.eps] +(grfext) \AppendGraphicsExtensions on input line 456. + +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv +e +)) +Package caption Info: Begin \AtBeginDocument code. +Package caption Info: End \AtBeginDocument code. + +Overfull \hbox (99.89502pt too wide) in paragraph at lines 28--28 +[]\OT1/cmtt/m/n/10.95 openssl s_client -debug -starttls smtp -crlf -connect smt +p.emailprovider.com:465[] + [] + + +Overfull \hbox (99.89502pt too wide) in paragraph at lines 92--92 +[] \OT1/cmtt/m/n/10.95 Session-ID: 480E968D62206D936801683C3BB12679DCB5CEDB0 +B20F4C3C2EB9DC97A54FAF4[] + [] + + +Overfull \hbox (283.85303pt too wide) in paragraph at lines 92--92 +[] \OT1/cmtt/m/n/10.95 Master-Key: BAB3C9AD7E209D2A979A621731BCB6A0B4368EEE0 +3E2B99CF884D2671E2D62A1A365EEB50FC881CA2E4FD666082027BA[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 92--92 +[] \OT1/cmtt/m/n/10.95 0000 - 26 e3 0c d9 a7 0e b1 88-52 ce 35 aa a0 8d bd 4 +0 &.......R.5....@[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 92--92 +[] \OT1/cmtt/m/n/10.95 0010 - 0c 39 e4 60 04 59 06 bb-b2 7e 35 f9 56 36 d1 4 +6 .9.`.Y...~5.V6.F[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 92--92 +[] \OT1/cmtt/m/n/10.95 0020 - d2 8c 48 29 44 fa 9f 2b-cd af fc 9a 68 b0 b8 6 +3 ..H)D..+....h..c[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 92--92 +[] \OT1/cmtt/m/n/10.95 0030 - 35 06 cd ba 67 57 bf c4-84 19 5a 05 fd a7 62 5 +1 5...gW....Z...bQ[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 92--92 +[] \OT1/cmtt/m/n/10.95 0040 - 1c 63 d7 b0 b4 ce 62 9f-66 13 7b 4c 74 54 86 f +a .c....b.f.{LtT..[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 92--92 +[] \OT1/cmtt/m/n/10.95 0050 - 3b 31 e1 e1 bd 19 29 e8-76 c2 6c 45 db 1d 32 5 +0 ;1....).v.lE..2P[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 92--92 +[] \OT1/cmtt/m/n/10.95 0060 - 60 63 ec 38 a3 e5 de 26-d6 27 c6 26 60 09 1a 5 +9 `c.8...&.'.&`..Y[] + [] + +[1 + +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] +Overfull \hbox (82.64896pt too wide) in paragraph at lines 92--92 +[] \OT1/cmtt/m/n/10.95 0070 - 59 e9 97 b4 07 9f 6c fc-46 cb 9e 0b 40 57 8f 7 +1 Y.....l.F...@W.q[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 92--92 +[] \OT1/cmtt/m/n/10.95 0080 - 20 98 54 06 38 42 47 c1-e6 fd 74 92 dc 11 a5 9 +7 .T.8BG...t.....[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 92--92 +[] \OT1/cmtt/m/n/10.95 0090 - 5d 81 7e 0b 66 b7 8e aa-c0 61 48 0c 90 84 ac 2 +d ].~.f....aH....-[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 92--92 +[]\OT1/cmtt/m/n/10.95 0000 - 17 03 03 00 28 2a 65 16-62 f5 2c 8c e5 d9 f2 ef +....(*e.b.,.....[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 92--92 +[]\OT1/cmtt/m/n/10.95 0010 - bb 8a ac 3a 6a dc db 32-79 56 7f 86 90 2e ed 44 +...:j..2yV.....D[] + [] + + +Overfull \hbox (42.40814pt too wide) in paragraph at lines 92--92 +[]\OT1/cmtt/m/n/10.95 0020 - 6e 6a ea 12 64 bb f8 1e-95 7e 63 16 c5 +nj..d....~c..[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 92--92 +[]\OT1/cmtt/m/n/10.95 0000 - 80 ae b0 b8 00 a2 d6 6b-47 42 2c 5d 30 1c 04 bd +.......kGB,]0...[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 92--92 +[]\OT1/cmtt/m/n/10.95 0010 - 5c bb 84 61 20 5a 2e 0d-c5 79 28 a9 21 d6 ad 1b +\..a Z...y(.!...[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 92--92 +[]\OT1/cmtt/m/n/10.95 0020 - 99 e5 fc da a1 fb da bc-70 9e 9b ac 5a e1 0f 8e +........p...Z...[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 92--92 +[]\OT1/cmtt/m/n/10.95 0030 - bb c8 6d cb 2e 27 af 9b-4a 6a e8 17 69 31 63 14 +..m..'..Jj..i1c.[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 92--92 +[]\OT1/cmtt/m/n/10.95 0040 - 24 68 d7 6b cc a7 dc 24-7c d6 4b fa 2a 3e 38 61 +$h.k...$|.K.*>8a[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 92--92 +[]\OT1/cmtt/m/n/10.95 0050 - 58 57 4d e8 1c e7 66 3c-22 0f 07 62 42 14 e7 78 +XWM...f<"..bB..x[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 92--92 +[]\OT1/cmtt/m/n/10.95 0060 - 86 8a 6c 6f 8f 79 06 f6-dc 33 b5 e9 ec db b8 b4 +..lo.y...3......[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 92--92 +[]\OT1/cmtt/m/n/10.95 0070 - 0e 7d d7 08 17 cd 4d b3-ac 16 79 08 87 df 31 95 +.}....M...y...1.[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 92--92 +[]\OT1/cmtt/m/n/10.95 0080 - 03 8d 9e 8c 25 09 ca 38-d0 be ee 45 38 d8 c4 a5 +....%..8...E8...[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 92--92 +[]\OT1/cmtt/m/n/10.95 0090 - c3 90 44 23 5d e7 9b 1b-c0 40 d2 cc 40 c5 4a e4 +..D#]....@..@.J.[] + [] + + +Overfull \hbox (7.91602pt too wide) in paragraph at lines 92--92 +[]\OT1/cmtt/m/n/10.95 00a0 - 25 38 8b 05 2f b2 33 +%8../.3[] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 93--97 + + [] + +[2] +Overfull \hbox (59.6542pt too wide) in paragraph at lines 115--115 +[]\OT1/cmtt/m/n/10.95 0000 - 17 03 03 00 24 2a 65 16-62 f5 2c 8c e6 59 01 74 +....$*e.b.,..Y.t[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 115--115 +[]\OT1/cmtt/m/n/10.95 0010 - 10 99 f5 d2 e6 75 88 d3-b9 58 0e 92 78 fc f1 ad +.....u...X..x...[] + [] + + +Overfull \hbox (19.41339pt too wide) in paragraph at lines 115--115 +[]\OT1/cmtt/m/n/10.95 0020 - c6 aa 50 2a 6c f4 cf e5-dd +..P*l....[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 115--115 +[]\OT1/cmtt/m/n/10.95 0000 - 80 ae b0 b8 00 a2 d6 6c-bf e5 f8 3d 5a 39 93 2b +.......l...=Z9.+[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 115--115 +[]\OT1/cmtt/m/n/10.95 0010 - f8 a2 12 03 0f 0f 5c a3-95 0a 6c b6 d9 fa 3d 09 +......\...l...=.[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 115--115 +[]\OT1/cmtt/m/n/10.95 0020 - 73 f7 5c 26 8c 41 aa cf-87 0f 65 61 52 7d ec f7 +s.\&.A....eaR}..[] + [] + + +Overfull \hbox (25.16208pt too wide) in paragraph at lines 115--115 +[]\OT1/cmtt/m/n/10.95 0030 - 4a fe cd a4 f8 3e be 48-a3 92 +J....>.H..[] + [] + + +Overfull \hbox (7.67688pt too wide) in paragraph at lines 121--122 +[]\OT1/cmr/m/n/10.95 Specifies mech-a-nism for SMTP au-then-ti-ca-tion. (Only L +O-GIN and CRAM- + [] + +[3] (./5.aux) ) +Here is how much of TeX's memory you used: + 2539 strings out of 494945 + 40661 string characters out of 6181032 + 99805 words of memory out of 5000000 + 5844 multiletter control sequences out of 15000+600000 + 5021 words of font info for 19 fonts, out of 8000000 for 9000 + 14 hyphenation exceptions out of 8191 + 39i,4n,38p,340b,239s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on 5.pdf (3 pages, 68712 bytes). +PDF statistics: + 30 PDF objects out of 1000 (max. 8388607) + 20 compressed objects within 1 object stream + 0 named destinations out of 1000 (max. 500000) + 1 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/2020/Manual_Email_Server_Interaction/docs/5.pdf b/2020/Manual_Email_Server_Interaction/docs/5.pdf new file mode 100644 index 0000000..79586a0 Binary files /dev/null and b/2020/Manual_Email_Server_Interaction/docs/5.pdf differ diff --git a/2020/Manual_Email_Server_Interaction/docs/5.tex b/2020/Manual_Email_Server_Interaction/docs/5.tex new file mode 100644 index 0000000..bc26842 --- /dev/null +++ b/2020/Manual_Email_Server_Interaction/docs/5.tex @@ -0,0 +1,130 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\title{\textbf{}} +\usepackage{graphicx} +\usepackage{caption } +\author{Steak Electronics} +%\date{06/4/19} +\begin{document} + +%\maketitle +\textbf{Email Stuff} + +\vspace{0.2in} + +%\textbf{Todo} +\section{Manual Email Server Interaction} +How to send emails manually. This is essential for troubleshooting automated email systems. + +\section{Basics} + +\begin{verbatim} +openssl s_client -debug -starttls smtp -crlf -connect smtp.emailprovider.com:465 +then continue with +EHLO hostname + +AUTH +etc... +\end{verbatim} + + +Here's an example: + +\begin{verbatim} +Compression: NONE +Expansion: NONE +No ALPN negotiated +SSL-Session: + Protocol : TLSv1.2 + Cipher : ECDHE-RSA-AES128-GCM-SHA256 + Session-ID: 480E968D62206D936801683C3BB12679DCB5CEDB0B20F4C3C2EB9DC97A54FAF4 + Session-ID-ctx: + Master-Key: BAB3C9AD7E209D2A979A621731BCB6A0B4368EEE03E2B99CF884D2671E2D62A1A365EEB50FC881CA2E4FD666082027BA + Key-Arg : None + PSK identity: None + PSK identity hint: None + SRP username: None + TLS session ticket lifetime hint: 300 (seconds) + TLS session ticket: + 0000 - 26 e3 0c d9 a7 0e b1 88-52 ce 35 aa a0 8d bd 40 &.......R.5....@ + 0010 - 0c 39 e4 60 04 59 06 bb-b2 7e 35 f9 56 36 d1 46 .9.`.Y...~5.V6.F + 0020 - d2 8c 48 29 44 fa 9f 2b-cd af fc 9a 68 b0 b8 63 ..H)D..+....h..c + 0030 - 35 06 cd ba 67 57 bf c4-84 19 5a 05 fd a7 62 51 5...gW....Z...bQ + 0040 - 1c 63 d7 b0 b4 ce 62 9f-66 13 7b 4c 74 54 86 fa .c....b.f.{LtT.. + 0050 - 3b 31 e1 e1 bd 19 29 e8-76 c2 6c 45 db 1d 32 50 ;1....).v.lE..2P + 0060 - 60 63 ec 38 a3 e5 de 26-d6 27 c6 26 60 09 1a 59 `c.8...&.'.&`..Y + 0070 - 59 e9 97 b4 07 9f 6c fc-46 cb 9e 0b 40 57 8f 71 Y.....l.F...@W.q + 0080 - 20 98 54 06 38 42 47 c1-e6 fd 74 92 dc 11 a5 97 .T.8BG...t..... + 0090 - 5d 81 7e 0b 66 b7 8e aa-c0 61 48 0c 90 84 ac 2d ].~.f....aH....- + + Start Time: 1590893833 + Timeout : 300 (sec) + Verify return code: 0 (ok) +--- +250 PIPELINING +EHLO localhost +write to 0x1c0dd20 [0x1c17853] (45 bytes => 45 (0x2D)) +0000 - 17 03 03 00 28 2a 65 16-62 f5 2c 8c e5 d9 f2 ef ....(*e.b.,..... +0010 - bb 8a ac 3a 6a dc db 32-79 56 7f 86 90 2e ed 44 ...:j..2yV.....D +0020 - 6e 6a ea 12 64 bb f8 1e-95 7e 63 16 c5 nj..d....~c.. +read from 0x1c0dd20 [0x1c13303] (5 bytes => 5 (0x5)) +0000 - 17 03 03 00 a7 ..... +read from 0x1c0dd20 [0x1c13308] (167 bytes => 167 (0xA7)) +0000 - 80 ae b0 b8 00 a2 d6 6b-47 42 2c 5d 30 1c 04 bd .......kGB,]0... +0010 - 5c bb 84 61 20 5a 2e 0d-c5 79 28 a9 21 d6 ad 1b \..a Z...y(.!... +0020 - 99 e5 fc da a1 fb da bc-70 9e 9b ac 5a e1 0f 8e ........p...Z... +0030 - bb c8 6d cb 2e 27 af 9b-4a 6a e8 17 69 31 63 14 ..m..'..Jj..i1c. +0040 - 24 68 d7 6b cc a7 dc 24-7c d6 4b fa 2a 3e 38 61 $h.k...$|.K.*>8a +0050 - 58 57 4d e8 1c e7 66 3c-22 0f 07 62 42 14 e7 78 XWM...f<"..bB..x +0060 - 86 8a 6c 6f 8f 79 06 f6-dc 33 b5 e9 ec db b8 b4 ..lo.y...3...... +0070 - 0e 7d d7 08 17 cd 4d b3-ac 16 79 08 87 df 31 95 .}....M...y...1. +0080 - 03 8d 9e 8c 25 09 ca 38-d0 be ee 45 38 d8 c4 a5 ....%..8...E8... +0090 - c3 90 44 23 5d e7 9b 1b-c0 40 d2 cc 40 c5 4a e4 ..D#]....@..@.J. +00a0 - 25 38 8b 05 2f b2 33 %8../.3 +250-www192.vfemail.net +250-8BITMIME +250-AUTH PLAIN +250-BURL imap +250-CHUNKING +250-ENHANCEDSTATUSCODES +250-SIZE 78643200 +250 PIPELINING +\end{verbatim} +Here you might enter at the prompt +\\ +\\ +AUTH LOGIN + +But that will fail: + +\begin{verbatim} +AUTH LOGIN +write to 0x1c0dd20 [0x1c17853] (41 bytes => 41 (0x29)) +0000 - 17 03 03 00 24 2a 65 16-62 f5 2c 8c e6 59 01 74 ....$*e.b.,..Y.t +0010 - 10 99 f5 d2 e6 75 88 d3-b9 58 0e 92 78 fc f1 ad .....u...X..x... +0020 - c6 aa 50 2a 6c f4 cf e5-dd ..P*l.... +read from 0x1c0dd20 [0x1c13303] (5 bytes => 5 (0x5)) +0000 - 17 03 03 00 3a ....: +read from 0x1c0dd20 [0x1c13308] (58 bytes => 58 (0x3A)) +0000 - 80 ae b0 b8 00 a2 d6 6c-bf e5 f8 3d 5a 39 93 2b .......l...=Z9.+ +0010 - f8 a2 12 03 0f 0f 5c a3-95 0a 6c b6 d9 fa 3d 09 ......\...l...=. +0020 - 73 f7 5c 26 8c 41 aa cf-87 0f 65 61 52 7d ec f7 s.\&.A....eaR}.. +0030 - 4a fe cd a4 f8 3e be 48-a3 92 J....>.H.. +504 5.5.4 Authentication failed. + +\end{verbatim} + +If you look at the EHLO, it responds with what auth it supports. In this case, AUTH PLAIN. So it accepts plain text passwords (over an encrypted session of course). + +Unfortunately, ssmtp (which I'm using) doesn't support plain. from ssmtp manual: + +Specifies mechanism for SMTP authentication. (Only LOGIN and CRAM-MD5) + +If you instead type AUTH PLAIN or auth plain, it will respond with 334. It is then waiting for credentials. +\begin{verbatim} + +ref: https://wiki.zoneminder.com/SMS_Notifications +\end{verbatim} + + +\end{document} diff --git a/2020/Manual_Email_Server_Interaction/docs/5.tex~ b/2020/Manual_Email_Server_Interaction/docs/5.tex~ new file mode 100644 index 0000000..c94cdc7 --- /dev/null +++ b/2020/Manual_Email_Server_Interaction/docs/5.tex~ @@ -0,0 +1,129 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\title{\textbf{}} +\usepackage{graphicx} +\usepackage{caption } +\author{Steak Electronics} +\date{06/4/19} +\begin{document} + +%\maketitle +\textbf{Nextcloud Research} + +\vspace{0.2in} + +%\textbf{Todo} +\section{Manual Email Server Interaction} +How to send emails manually. This is essential for troubleshooting automated email systems. + +\section{Basics} + +\begin{verbatim} +openssl s_client -debug -starttls smtp -crlf -connect smtp.emailprovider.com:465 +then continue with +EHLO hostname +AUTH +etc... +\end{verbatim} + + +Here's an example: + +\begin{verbatim} +Compression: NONE +Expansion: NONE +No ALPN negotiated +SSL-Session: + Protocol : TLSv1.2 + Cipher : ECDHE-RSA-AES128-GCM-SHA256 + Session-ID: 480E968D62206D936801683C3BB12679DCB5CEDB0B20F4C3C2EB9DC97A54FAF4 + Session-ID-ctx: + Master-Key: BAB3C9AD7E209D2A979A621731BCB6A0B4368EEE03E2B99CF884D2671E2D62A1A365EEB50FC881CA2E4FD666082027BA + Key-Arg : None + PSK identity: None + PSK identity hint: None + SRP username: None + TLS session ticket lifetime hint: 300 (seconds) + TLS session ticket: + 0000 - 26 e3 0c d9 a7 0e b1 88-52 ce 35 aa a0 8d bd 40 &.......R.5....@ + 0010 - 0c 39 e4 60 04 59 06 bb-b2 7e 35 f9 56 36 d1 46 .9.`.Y...~5.V6.F + 0020 - d2 8c 48 29 44 fa 9f 2b-cd af fc 9a 68 b0 b8 63 ..H)D..+....h..c + 0030 - 35 06 cd ba 67 57 bf c4-84 19 5a 05 fd a7 62 51 5...gW....Z...bQ + 0040 - 1c 63 d7 b0 b4 ce 62 9f-66 13 7b 4c 74 54 86 fa .c....b.f.{LtT.. + 0050 - 3b 31 e1 e1 bd 19 29 e8-76 c2 6c 45 db 1d 32 50 ;1....).v.lE..2P + 0060 - 60 63 ec 38 a3 e5 de 26-d6 27 c6 26 60 09 1a 59 `c.8...&.'.&`..Y + 0070 - 59 e9 97 b4 07 9f 6c fc-46 cb 9e 0b 40 57 8f 71 Y.....l.F...@W.q + 0080 - 20 98 54 06 38 42 47 c1-e6 fd 74 92 dc 11 a5 97 .T.8BG...t..... + 0090 - 5d 81 7e 0b 66 b7 8e aa-c0 61 48 0c 90 84 ac 2d ].~.f....aH....- + + Start Time: 1590893833 + Timeout : 300 (sec) + Verify return code: 0 (ok) +--- +250 PIPELINING +EHLO localhost +write to 0x1c0dd20 [0x1c17853] (45 bytes => 45 (0x2D)) +0000 - 17 03 03 00 28 2a 65 16-62 f5 2c 8c e5 d9 f2 ef ....(*e.b.,..... +0010 - bb 8a ac 3a 6a dc db 32-79 56 7f 86 90 2e ed 44 ...:j..2yV.....D +0020 - 6e 6a ea 12 64 bb f8 1e-95 7e 63 16 c5 nj..d....~c.. +read from 0x1c0dd20 [0x1c13303] (5 bytes => 5 (0x5)) +0000 - 17 03 03 00 a7 ..... +read from 0x1c0dd20 [0x1c13308] (167 bytes => 167 (0xA7)) +0000 - 80 ae b0 b8 00 a2 d6 6b-47 42 2c 5d 30 1c 04 bd .......kGB,]0... +0010 - 5c bb 84 61 20 5a 2e 0d-c5 79 28 a9 21 d6 ad 1b \..a Z...y(.!... +0020 - 99 e5 fc da a1 fb da bc-70 9e 9b ac 5a e1 0f 8e ........p...Z... +0030 - bb c8 6d cb 2e 27 af 9b-4a 6a e8 17 69 31 63 14 ..m..'..Jj..i1c. +0040 - 24 68 d7 6b cc a7 dc 24-7c d6 4b fa 2a 3e 38 61 $h.k...$|.K.*>8a +0050 - 58 57 4d e8 1c e7 66 3c-22 0f 07 62 42 14 e7 78 XWM...f<"..bB..x +0060 - 86 8a 6c 6f 8f 79 06 f6-dc 33 b5 e9 ec db b8 b4 ..lo.y...3...... +0070 - 0e 7d d7 08 17 cd 4d b3-ac 16 79 08 87 df 31 95 .}....M...y...1. +0080 - 03 8d 9e 8c 25 09 ca 38-d0 be ee 45 38 d8 c4 a5 ....%..8...E8... +0090 - c3 90 44 23 5d e7 9b 1b-c0 40 d2 cc 40 c5 4a e4 ..D#]....@..@.J. +00a0 - 25 38 8b 05 2f b2 33 %8../.3 +250-www192.vfemail.net +250-8BITMIME +250-AUTH PLAIN +250-BURL imap +250-CHUNKING +250-ENHANCEDSTATUSCODES +250-SIZE 78643200 +250 PIPELINING +\end{verbatim} +Here you might enter at the prompt +\\ +\\ +AUTH LOGIN + +But that will fail: + +\begin{verbatim} +AUTH LOGIN +write to 0x1c0dd20 [0x1c17853] (41 bytes => 41 (0x29)) +0000 - 17 03 03 00 24 2a 65 16-62 f5 2c 8c e6 59 01 74 ....$*e.b.,..Y.t +0010 - 10 99 f5 d2 e6 75 88 d3-b9 58 0e 92 78 fc f1 ad .....u...X..x... +0020 - c6 aa 50 2a 6c f4 cf e5-dd ..P*l.... +read from 0x1c0dd20 [0x1c13303] (5 bytes => 5 (0x5)) +0000 - 17 03 03 00 3a ....: +read from 0x1c0dd20 [0x1c13308] (58 bytes => 58 (0x3A)) +0000 - 80 ae b0 b8 00 a2 d6 6c-bf e5 f8 3d 5a 39 93 2b .......l...=Z9.+ +0010 - f8 a2 12 03 0f 0f 5c a3-95 0a 6c b6 d9 fa 3d 09 ......\...l...=. +0020 - 73 f7 5c 26 8c 41 aa cf-87 0f 65 61 52 7d ec f7 s.\&.A....eaR}.. +0030 - 4a fe cd a4 f8 3e be 48-a3 92 J....>.H.. +504 5.5.4 Authentication failed. + +\end{verbatim} + +If you look at the EHLO, it responds with what auth it supports. In this case, AUTH PLAIN. So it accepts plain text passwords (over an encrypted session of course). + +Unfortunately, ssmtp (which I'm using) doesn't support plain. from ssmtp manual: + +Specifies mechanism for SMTP authentication. (Only LOGIN and CRAM-MD5) + + +\begin{verbatim} + +ref: https://wiki.zoneminder.com/SMS_Notifications +\end{verbatim} + + +\end{document} diff --git a/2020/Manual_Email_Server_Interaction/docs/6.aux b/2020/Manual_Email_Server_Interaction/docs/6.aux new file mode 100644 index 0000000..beba759 --- /dev/null +++ b/2020/Manual_Email_Server_Interaction/docs/6.aux @@ -0,0 +1,3 @@ +\relax +\@writefile{toc}{\contentsline {section}{\numberline {1}Manual Email Server Interaction}{1}} +\@writefile{toc}{\contentsline {section}{\numberline {2}Basics}{1}} diff --git a/2020/Manual_Email_Server_Interaction/docs/6.log b/2020/Manual_Email_Server_Interaction/docs/6.log new file mode 100644 index 0000000..d727b33 --- /dev/null +++ b/2020/Manual_Email_Server_Interaction/docs/6.log @@ -0,0 +1,530 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 18 JUN 2020 13:39 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2020/Manual_Em +ail_Server_Interaction/docs/6.tex + +(/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2020/Manual_Ema +il_Server_Interaction/docs/6.tex +LaTeX2e <2017/01/01> patch level 3 +Babel <3.9r> and hyphenation patterns for 3 language(s) loaded. +(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls +Document Class: article 2014/09/29 v1.4h Standard LaTeX document class +(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo +File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2014/10/28 v1.0g Enhanced LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks14 +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2016/10/09 v1.0u Standard LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: pdftex.def on input line 99. + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2017/01/12 v0.06k Graphics/color for pdfTeX + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty +Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty +Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) +) +\Gread@gobject=\count87 +)) +\Gin@req@height=\dimen103 +\Gin@req@width=\dimen104 +) +(/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty +Package: caption 2016/02/21 v3.3-144 Customizing captions (AR) + +(/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty +Package: caption3 2016/05/22 v1.7-166 caption3 kernel (AR) +Package caption3 Info: TeX engine: e-TeX on input line 67. +\captionmargin=\dimen105 +\captionmargin@=\dimen106 +\captionwidth=\dimen107 +\caption@tempdima=\dimen108 +\caption@indent=\dimen109 +\caption@parindent=\dimen110 +\caption@hangindent=\dimen111 +) +\c@ContinuedFloat=\count88 +) (./6.aux) +\openout1 = `6.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. + +(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count89 +\scratchdimen=\dimen112 +\scratchbox=\box26 +\nofMPsegments=\count90 +\nofMParguments=\count91 +\everyMPshowfont=\toks15 +\MPscratchCnt=\count92 +\MPscratchDim=\dimen113 +\MPnumerator=\count93 +\makeMPintoPDFobject=\count94 +\everyMPtoPDFconversion=\toks16 +) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty +Package: pdftexcmds 2016/05/21 v0.22 Utility functions of pdfTeX for LuaTeX (HO +) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty +Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) +Package ifluatex Info: LuaTeX not detected. +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2016/05/14 v3.1 Provides the ifpdf switch +) +Package pdftexcmds Info: LuaTeX not detected. +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode found. +) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty +Package: epstopdf-base 2016/05/15 v2.6 Base part for package epstopdf + +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty +Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty +Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO) +)) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty +Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty +Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty +Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) +Package etexcmds Info: Could not find \expanded. +(etexcmds) That can mean that you are not using pdfTeX 1.50 or +(etexcmds) that some package has redefined \expanded. +(etexcmds) In the latter case, load this package earlier. +))) +Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 +38. +Package grfext Info: Graphics extension search list: +(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE +G,.JBIG2,.JB2,.eps] +(grfext) \AppendGraphicsExtensions on input line 456. + +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv +e +)) +Package caption Info: Begin \AtBeginDocument code. +Package caption Info: End \AtBeginDocument code. + +Overfull \hbox (99.89502pt too wide) in paragraph at lines 28--28 +[]\OT1/cmtt/m/n/10.95 openssl s_client -debug -starttls smtp -crlf -connect smt +p.emailprovider.com:465[] + [] + + +Overfull \hbox (99.89502pt too wide) in paragraph at lines 92--92 +[] \OT1/cmtt/m/n/10.95 Session-ID: 480E968D62206D936801683C3BB12679DCB5CEDB0 +B20F4C3C2EB9DC97A54FAF4[] + [] + + +Overfull \hbox (283.85303pt too wide) in paragraph at lines 92--92 +[] \OT1/cmtt/m/n/10.95 Master-Key: BAB3C9AD7E209D2A979A621731BCB6A0B4368EEE0 +3E2B99CF884D2671E2D62A1A365EEB50FC881CA2E4FD666082027BA[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 92--92 +[] \OT1/cmtt/m/n/10.95 0000 - 26 e3 0c d9 a7 0e b1 88-52 ce 35 aa a0 8d bd 4 +0 &.......R.5....@[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 92--92 +[] \OT1/cmtt/m/n/10.95 0010 - 0c 39 e4 60 04 59 06 bb-b2 7e 35 f9 56 36 d1 4 +6 .9.`.Y...~5.V6.F[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 92--92 +[] \OT1/cmtt/m/n/10.95 0020 - d2 8c 48 29 44 fa 9f 2b-cd af fc 9a 68 b0 b8 6 +3 ..H)D..+....h..c[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 92--92 +[] \OT1/cmtt/m/n/10.95 0030 - 35 06 cd ba 67 57 bf c4-84 19 5a 05 fd a7 62 5 +1 5...gW....Z...bQ[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 92--92 +[] \OT1/cmtt/m/n/10.95 0040 - 1c 63 d7 b0 b4 ce 62 9f-66 13 7b 4c 74 54 86 f +a .c....b.f.{LtT..[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 92--92 +[] \OT1/cmtt/m/n/10.95 0050 - 3b 31 e1 e1 bd 19 29 e8-76 c2 6c 45 db 1d 32 5 +0 ;1....).v.lE..2P[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 92--92 +[] \OT1/cmtt/m/n/10.95 0060 - 60 63 ec 38 a3 e5 de 26-d6 27 c6 26 60 09 1a 5 +9 `c.8...&.'.&`..Y[] + [] + +[1 + +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] +Overfull \hbox (82.64896pt too wide) in paragraph at lines 92--92 +[] \OT1/cmtt/m/n/10.95 0070 - 59 e9 97 b4 07 9f 6c fc-46 cb 9e 0b 40 57 8f 7 +1 Y.....l.F...@W.q[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 92--92 +[] \OT1/cmtt/m/n/10.95 0080 - 20 98 54 06 38 42 47 c1-e6 fd 74 92 dc 11 a5 9 +7 .T.8BG...t.....[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 92--92 +[] \OT1/cmtt/m/n/10.95 0090 - 5d 81 7e 0b 66 b7 8e aa-c0 61 48 0c 90 84 ac 2 +d ].~.f....aH....-[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 92--92 +[]\OT1/cmtt/m/n/10.95 0000 - 17 03 03 00 28 2a 65 16-62 f5 2c 8c e5 d9 f2 ef +....(*e.b.,.....[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 92--92 +[]\OT1/cmtt/m/n/10.95 0010 - bb 8a ac 3a 6a dc db 32-79 56 7f 86 90 2e ed 44 +...:j..2yV.....D[] + [] + + +Overfull \hbox (42.40814pt too wide) in paragraph at lines 92--92 +[]\OT1/cmtt/m/n/10.95 0020 - 6e 6a ea 12 64 bb f8 1e-95 7e 63 16 c5 +nj..d....~c..[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 92--92 +[]\OT1/cmtt/m/n/10.95 0000 - 80 ae b0 b8 00 a2 d6 6b-47 42 2c 5d 30 1c 04 bd +.......kGB,]0...[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 92--92 +[]\OT1/cmtt/m/n/10.95 0010 - 5c bb 84 61 20 5a 2e 0d-c5 79 28 a9 21 d6 ad 1b +\..a Z...y(.!...[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 92--92 +[]\OT1/cmtt/m/n/10.95 0020 - 99 e5 fc da a1 fb da bc-70 9e 9b ac 5a e1 0f 8e +........p...Z...[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 92--92 +[]\OT1/cmtt/m/n/10.95 0030 - bb c8 6d cb 2e 27 af 9b-4a 6a e8 17 69 31 63 14 +..m..'..Jj..i1c.[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 92--92 +[]\OT1/cmtt/m/n/10.95 0040 - 24 68 d7 6b cc a7 dc 24-7c d6 4b fa 2a 3e 38 61 +$h.k...$|.K.*>8a[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 92--92 +[]\OT1/cmtt/m/n/10.95 0050 - 58 57 4d e8 1c e7 66 3c-22 0f 07 62 42 14 e7 78 +XWM...f<"..bB..x[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 92--92 +[]\OT1/cmtt/m/n/10.95 0060 - 86 8a 6c 6f 8f 79 06 f6-dc 33 b5 e9 ec db b8 b4 +..lo.y...3......[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 92--92 +[]\OT1/cmtt/m/n/10.95 0070 - 0e 7d d7 08 17 cd 4d b3-ac 16 79 08 87 df 31 95 +.}....M...y...1.[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 92--92 +[]\OT1/cmtt/m/n/10.95 0080 - 03 8d 9e 8c 25 09 ca 38-d0 be ee 45 38 d8 c4 a5 +....%..8...E8...[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 92--92 +[]\OT1/cmtt/m/n/10.95 0090 - c3 90 44 23 5d e7 9b 1b-c0 40 d2 cc 40 c5 4a e4 +..D#]....@..@.J.[] + [] + + +Overfull \hbox (7.91602pt too wide) in paragraph at lines 92--92 +[]\OT1/cmtt/m/n/10.95 00a0 - 25 38 8b 05 2f b2 33 +%8../.3[] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 93--97 + + [] + +[2] +Overfull \hbox (59.6542pt too wide) in paragraph at lines 115--115 +[]\OT1/cmtt/m/n/10.95 0000 - 17 03 03 00 24 2a 65 16-62 f5 2c 8c e6 59 01 74 +....$*e.b.,..Y.t[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 115--115 +[]\OT1/cmtt/m/n/10.95 0010 - 10 99 f5 d2 e6 75 88 d3-b9 58 0e 92 78 fc f1 ad +.....u...X..x...[] + [] + + +Overfull \hbox (19.41339pt too wide) in paragraph at lines 115--115 +[]\OT1/cmtt/m/n/10.95 0020 - c6 aa 50 2a 6c f4 cf e5-dd +..P*l....[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 115--115 +[]\OT1/cmtt/m/n/10.95 0000 - 80 ae b0 b8 00 a2 d6 6c-bf e5 f8 3d 5a 39 93 2b +.......l...=Z9.+[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 115--115 +[]\OT1/cmtt/m/n/10.95 0010 - f8 a2 12 03 0f 0f 5c a3-95 0a 6c b6 d9 fa 3d 09 +......\...l...=.[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 115--115 +[]\OT1/cmtt/m/n/10.95 0020 - 73 f7 5c 26 8c 41 aa cf-87 0f 65 61 52 7d ec f7 +s.\&.A....eaR}..[] + [] + + +Overfull \hbox (25.16208pt too wide) in paragraph at lines 115--115 +[]\OT1/cmtt/m/n/10.95 0030 - 4a fe cd a4 f8 3e be 48-a3 92 +J....>.H..[] + [] + + +Overfull \hbox (7.67688pt too wide) in paragraph at lines 121--122 +[]\OT1/cmr/m/n/10.95 Specifies mech-a-nism for SMTP au-then-ti-ca-tion. (Only L +O-GIN and CRAM- + [] + + +Overfull \hbox (30.91077pt too wide) in paragraph at lines 173--173 +[]\OT1/cmtt/m/n/10.95 Jun 16 01:01:02 server sSMTP[19958]: Creating SSL connect +ion to host[] + [] + + +Overfull \hbox (111.3924pt too wide) in paragraph at lines 173--173 +[]\OT1/cmtt/m/n/10.95 Jun 16 01:01:02 server sSMTP[19958]: SSL connection using + DHE_RSA_AES_256_CBC_SHA1[] + [] + + +Overfull \hbox (249.3609pt too wide) in paragraph at lines 173--173 +[]\OT1/cmtt/m/n/10.95 Jun 16 01:01:04 server sSMTP[19958]: Sent mail for .com ( +221 2.0.0 Bye) uid=0 username=root outbytes=91617[] + [] + + +Overfull \hbox (30.91077pt too wide) in paragraph at lines 173--173 +[]\OT1/cmtt/m/n/10.95 Jun 16 01:01:04 server sSMTP[19978]: Creating SSL connect +ion to host[] + [] + + +Overfull \hbox (111.3924pt too wide) in paragraph at lines 173--173 +[]\OT1/cmtt/m/n/10.95 Jun 16 01:01:05 server sSMTP[19978]: SSL connection using + DHE_RSA_AES_256_CBC_SHA1[] + [] + + +Overfull \hbox (249.3609pt too wide) in paragraph at lines 173--173 +[]\OT1/cmtt/m/n/10.95 Jun 16 01:01:06 server sSMTP[19978]: Sent mail for .com ( +221 2.0.0 Bye) uid=0 username=root outbytes=93751[] + [] + + +Overfull \hbox (30.91077pt too wide) in paragraph at lines 173--173 +[]\OT1/cmtt/m/n/10.95 Jun 18 13:30:31 server sSMTP[18220]: Creating SSL connect +ion to host[] + [] + + +Overfull \hbox (48.15683pt too wide) in paragraph at lines 173--173 +[]\OT1/cmtt/m/n/10.95 Jun 18 13:30:32 server sSMTP[18220]: 220 smtp.mxes.net ES +MTP Postfix 03[] + [] + +[3] +Overfull \hbox (13.6647pt too wide) in paragraph at lines 173--173 +[]\OT1/cmtt/m/n/10.95 Jun 18 13:30:32 server sSMTP[18220]: 220 2.0.0 Ready to s +tart TLS[] + [] + + +Overfull \hbox (111.3924pt too wide) in paragraph at lines 173--173 +[]\OT1/cmtt/m/n/10.95 Jun 18 13:30:32 server sSMTP[18220]: SSL connection using + DHE_RSA_AES_256_CBC_SHA1[] + [] + + +Overfull \hbox (53.90552pt too wide) in paragraph at lines 173--173 +[]\OT1/cmtt/m/n/10.95 Jun 18 13:30:32 server sSMTP[18220]: 235 2.7.0 Authentica +tion successful[] + [] + + +Overfull \hbox (7.91602pt too wide) in paragraph at lines 173--173 +[]\OT1/cmtt/m/n/10.95 Jun 18 13:30:32 server sSMTP[18220]: MAIL FROM:[] + [] + + +Overfull \hbox (53.90552pt too wide) in paragraph at lines 173--173 +[]\OT1/cmtt/m/n/10.95 Jun 18 13:30:33 server sSMTP[18220]: 354 End data with .[] + [] + + +Overfull \hbox (295.3504pt too wide) in paragraph at lines 173--173 +[]\OT1/cmtt/m/n/10.95 Jun 18 13:30:33 server sSMTP[18220]: Received: by .com (s +SMTP sendmail emulation); Thu, 18 Jun 2020 13:30:30 -0400[] + [] + + +Overfull \hbox (65.4029pt too wide) in paragraph at lines 173--173 +[]\OT1/cmtt/m/n/10.95 Jun 18 13:30:33 server sSMTP[18220]: Date: Thu, 18 Jun 20 +20 13:30:30 -0400[] + [] + + +Overfull \hbox (48.15683pt too wide) in paragraph at lines 173--173 +[]\OT1/cmtt/m/n/10.95 Jun 18 13:30:34 server sSMTP[18220]: 250 2.0.0 Ok: queued + as 3B1D6759AF[] + [] + + +Overfull \hbox (220.61746pt too wide) in paragraph at lines 173--173 +[]\OT1/cmtt/m/n/10.95 Jun 18 13:30:34 server sSMTP[18220]: Sent mail for c (221 + 2.0.0 Bye) uid=1000 username=c outbytes=439[] + [] + + +Overfull \hbox (36.65945pt too wide) in paragraph at lines 190--190 +[]\OT1/cmtt/m/n/10.95 Jun 18 17:35:46 zmctankhome sSMTP[22488]: Set MailHub="sm +tp.mxes.net"[] + [] + + +Overfull \hbox (30.91077pt too wide) in paragraph at lines 190--190 +[]\OT1/cmtt/m/n/10.95 Jun 18 17:35:46 zmctankhome sSMTP[22488]: via SMTP Port N +umber="587"[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 190--190 +[]\OT1/cmtt/m/n/10.95 Jun 18 17:35:47 zmctankhome sSMTP[22488]: Creating SSL co +nnection to host[] + [] + + +Overfull \hbox (76.90027pt too wide) in paragraph at lines 190--190 +[]\OT1/cmtt/m/n/10.95 Jun 18 17:35:47 zmctankhome sSMTP[22488]: 220 smtp.mxes.n +et ESMTP Postfix 03[] + [] + +[4] +Overfull \hbox (42.40814pt too wide) in paragraph at lines 190--190 +[]\OT1/cmtt/m/n/10.95 Jun 18 17:35:47 zmctankhome sSMTP[22488]: 220 2.0.0 Ready + to start TLS[] + [] + + +Overfull \hbox (163.13058pt too wide) in paragraph at lines 190--190 +[]\OT1/cmtt/m/n/10.95 Jun 18 17:35:48 zmctankhome sSMTP[22488]: SSL connection +using ECDHE_RSA_AES_256_GCM_SHA384[] + [] + +[5] (./6.aux) ) +Here is how much of TeX's memory you used: + 2539 strings out of 494945 + 40661 string characters out of 6181032 + 99805 words of memory out of 5000000 + 5844 multiletter control sequences out of 15000+600000 + 5021 words of font info for 19 fonts, out of 8000000 for 9000 + 14 hyphenation exceptions out of 8191 + 39i,4n,38p,340b,239s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on 6.pdf (5 pages, 71548 bytes). +PDF statistics: + 36 PDF objects out of 1000 (max. 8388607) + 24 compressed objects within 1 object stream + 0 named destinations out of 1000 (max. 500000) + 1 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/2020/Manual_Email_Server_Interaction/docs/6.pdf b/2020/Manual_Email_Server_Interaction/docs/6.pdf new file mode 100644 index 0000000..6dc794d Binary files /dev/null and b/2020/Manual_Email_Server_Interaction/docs/6.pdf differ diff --git a/2020/Manual_Email_Server_Interaction/docs/6.tex b/2020/Manual_Email_Server_Interaction/docs/6.tex new file mode 100644 index 0000000..f767481 --- /dev/null +++ b/2020/Manual_Email_Server_Interaction/docs/6.tex @@ -0,0 +1,194 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\title{\textbf{}} +\usepackage{graphicx} +\usepackage{caption } +\author{Steak Electronics} +%\date{06/4/19} +\begin{document} + +%\maketitle +\textbf{Email Stuff} + +\vspace{0.2in} + +%\textbf{Todo} +\section{Manual Email Server Interaction} +How to send emails manually. This is essential for troubleshooting automated email systems. + +\section{Basics} + +\begin{verbatim} +openssl s_client -debug -starttls smtp -crlf -connect smtp.emailprovider.com:465 +then continue with +EHLO hostname + +AUTH +etc... +\end{verbatim} + + +Here's an example: + +\begin{verbatim} +Compression: NONE +Expansion: NONE +No ALPN negotiated +SSL-Session: + Protocol : TLSv1.2 + Cipher : ECDHE-RSA-AES128-GCM-SHA256 + Session-ID: 480E968D62206D936801683C3BB12679DCB5CEDB0B20F4C3C2EB9DC97A54FAF4 + Session-ID-ctx: + Master-Key: BAB3C9AD7E209D2A979A621731BCB6A0B4368EEE03E2B99CF884D2671E2D62A1A365EEB50FC881CA2E4FD666082027BA + Key-Arg : None + PSK identity: None + PSK identity hint: None + SRP username: None + TLS session ticket lifetime hint: 300 (seconds) + TLS session ticket: + 0000 - 26 e3 0c d9 a7 0e b1 88-52 ce 35 aa a0 8d bd 40 &.......R.5....@ + 0010 - 0c 39 e4 60 04 59 06 bb-b2 7e 35 f9 56 36 d1 46 .9.`.Y...~5.V6.F + 0020 - d2 8c 48 29 44 fa 9f 2b-cd af fc 9a 68 b0 b8 63 ..H)D..+....h..c + 0030 - 35 06 cd ba 67 57 bf c4-84 19 5a 05 fd a7 62 51 5...gW....Z...bQ + 0040 - 1c 63 d7 b0 b4 ce 62 9f-66 13 7b 4c 74 54 86 fa .c....b.f.{LtT.. + 0050 - 3b 31 e1 e1 bd 19 29 e8-76 c2 6c 45 db 1d 32 50 ;1....).v.lE..2P + 0060 - 60 63 ec 38 a3 e5 de 26-d6 27 c6 26 60 09 1a 59 `c.8...&.'.&`..Y + 0070 - 59 e9 97 b4 07 9f 6c fc-46 cb 9e 0b 40 57 8f 71 Y.....l.F...@W.q + 0080 - 20 98 54 06 38 42 47 c1-e6 fd 74 92 dc 11 a5 97 .T.8BG...t..... + 0090 - 5d 81 7e 0b 66 b7 8e aa-c0 61 48 0c 90 84 ac 2d ].~.f....aH....- + + Start Time: 1590893833 + Timeout : 300 (sec) + Verify return code: 0 (ok) +--- +250 PIPELINING +EHLO localhost +write to 0x1c0dd20 [0x1c17853] (45 bytes => 45 (0x2D)) +0000 - 17 03 03 00 28 2a 65 16-62 f5 2c 8c e5 d9 f2 ef ....(*e.b.,..... +0010 - bb 8a ac 3a 6a dc db 32-79 56 7f 86 90 2e ed 44 ...:j..2yV.....D +0020 - 6e 6a ea 12 64 bb f8 1e-95 7e 63 16 c5 nj..d....~c.. +read from 0x1c0dd20 [0x1c13303] (5 bytes => 5 (0x5)) +0000 - 17 03 03 00 a7 ..... +read from 0x1c0dd20 [0x1c13308] (167 bytes => 167 (0xA7)) +0000 - 80 ae b0 b8 00 a2 d6 6b-47 42 2c 5d 30 1c 04 bd .......kGB,]0... +0010 - 5c bb 84 61 20 5a 2e 0d-c5 79 28 a9 21 d6 ad 1b \..a Z...y(.!... +0020 - 99 e5 fc da a1 fb da bc-70 9e 9b ac 5a e1 0f 8e ........p...Z... +0030 - bb c8 6d cb 2e 27 af 9b-4a 6a e8 17 69 31 63 14 ..m..'..Jj..i1c. +0040 - 24 68 d7 6b cc a7 dc 24-7c d6 4b fa 2a 3e 38 61 $h.k...$|.K.*>8a +0050 - 58 57 4d e8 1c e7 66 3c-22 0f 07 62 42 14 e7 78 XWM...f<"..bB..x +0060 - 86 8a 6c 6f 8f 79 06 f6-dc 33 b5 e9 ec db b8 b4 ..lo.y...3...... +0070 - 0e 7d d7 08 17 cd 4d b3-ac 16 79 08 87 df 31 95 .}....M...y...1. +0080 - 03 8d 9e 8c 25 09 ca 38-d0 be ee 45 38 d8 c4 a5 ....%..8...E8... +0090 - c3 90 44 23 5d e7 9b 1b-c0 40 d2 cc 40 c5 4a e4 ..D#]....@..@.J. +00a0 - 25 38 8b 05 2f b2 33 %8../.3 +250-www192.vfemail.net +250-8BITMIME +250-AUTH PLAIN +250-BURL imap +250-CHUNKING +250-ENHANCEDSTATUSCODES +250-SIZE 78643200 +250 PIPELINING +\end{verbatim} +Here you might enter at the prompt +\\ +\\ +AUTH LOGIN + +But that will fail: + +\begin{verbatim} +AUTH LOGIN +write to 0x1c0dd20 [0x1c17853] (41 bytes => 41 (0x29)) +0000 - 17 03 03 00 24 2a 65 16-62 f5 2c 8c e6 59 01 74 ....$*e.b.,..Y.t +0010 - 10 99 f5 d2 e6 75 88 d3-b9 58 0e 92 78 fc f1 ad .....u...X..x... +0020 - c6 aa 50 2a 6c f4 cf e5-dd ..P*l.... +read from 0x1c0dd20 [0x1c13303] (5 bytes => 5 (0x5)) +0000 - 17 03 03 00 3a ....: +read from 0x1c0dd20 [0x1c13308] (58 bytes => 58 (0x3A)) +0000 - 80 ae b0 b8 00 a2 d6 6c-bf e5 f8 3d 5a 39 93 2b .......l...=Z9.+ +0010 - f8 a2 12 03 0f 0f 5c a3-95 0a 6c b6 d9 fa 3d 09 ......\...l...=. +0020 - 73 f7 5c 26 8c 41 aa cf-87 0f 65 61 52 7d ec f7 s.\&.A....eaR}.. +0030 - 4a fe cd a4 f8 3e be 48-a3 92 J....>.H.. +504 5.5.4 Authentication failed. + +\end{verbatim} + +If you look at the EHLO, it responds with what auth it supports. In this case, AUTH PLAIN. So it accepts plain text passwords (over an encrypted session of course). + +Unfortunately, ssmtp (which I'm using) doesn't support plain. from ssmtp manual: + +Specifies mechanism for SMTP authentication. (Only LOGIN and CRAM-MD5) + +If you instead type AUTH PLAIN or auth plain, it will respond with 334. It is then waiting for credentials. +\begin{verbatim} + +ref: https://wiki.zoneminder.com/SMS_Notifications +\end{verbatim} + +You can also compare logs in /var/log/mail.log +Here's a working example: + +\begin{verbatim} +Jun 16 01:01:02 server sSMTP[19958]: Creating SSL connection to host +Jun 16 01:01:02 server sSMTP[19958]: SSL connection using DHE_RSA_AES_256_CBC_SHA1 +Jun 16 01:01:04 server sSMTP[19958]: Sent mail for .com (221 2.0.0 Bye) uid=0 username=root outbytes=91617 +Jun 16 01:01:04 server sSMTP[19978]: Creating SSL connection to host +Jun 16 01:01:05 server sSMTP[19978]: SSL connection using DHE_RSA_AES_256_CBC_SHA1 +Jun 16 01:01:06 server sSMTP[19978]: Sent mail for .com (221 2.0.0 Bye) uid=0 username=root outbytes=93751 +Jun 18 13:30:31 server sSMTP[18220]: Creating SSL connection to host +Jun 18 13:30:32 server sSMTP[18220]: 220 smtp.mxes.net ESMTP Postfix 03 +Jun 18 13:30:32 server sSMTP[18220]: EHLO s.com +Jun 18 13:30:32 server sSMTP[18220]: 250 CHUNKING +Jun 18 13:30:32 server sSMTP[18220]: STARTTLS +Jun 18 13:30:32 server sSMTP[18220]: 220 2.0.0 Ready to start TLS +Jun 18 13:30:32 server sSMTP[18220]: SSL connection using DHE_RSA_AES_256_CBC_SHA1 +Jun 18 13:30:32 server sSMTP[18220]: EHLO s.com +Jun 18 13:30:32 server sSMTP[18220]: 250 CHUNKING +Jun 18 13:30:32 server sSMTP[18220]: AUTH LOGIN +Jun 18 13:30:32 server sSMTP[18220]: 334 lslslsls +Jun 18 13:30:32 server sSMTP[18220]: somethuing +Jun 18 13:30:32 server sSMTP[18220]: 334 something else6 +Jun 18 13:30:32 server sSMTP[18220]: somehashedstuff +Jun 18 13:30:32 server sSMTP[18220]: 235 2.7.0 Authentication successful +Jun 18 13:30:32 server sSMTP[18220]: MAIL FROM: +Jun 18 13:30:32 server sSMTP[18220]: 250 2.1.0 Ok +Jun 18 13:30:32 server sSMTP[18220]: RCPT TO: +Jun 18 13:30:33 server sSMTP[18220]: 250 2.1.5 Ok +Jun 18 13:30:33 server sSMTP[18220]: DATA +Jun 18 13:30:33 server sSMTP[18220]: 354 End data with . +Jun 18 13:30:33 server sSMTP[18220]: Received: by .com (sSMTP sendmail emulation); Thu, 18 Jun 2020 13:30:30 -0400 +Jun 18 13:30:33 server sSMTP[18220]: From: "C" +Jun 18 13:30:33 server sSMTP[18220]: Date: Thu, 18 Jun 2020 13:30:30 -0400 +Jun 18 13:30:33 server sSMTP[18220]: To: j +Jun 18 13:30:33 server sSMTP[18220]: Subject: My email check +Jun 18 13:30:33 server sSMTP[18220]: +Jun 18 13:30:33 server sSMTP[18220]: Hello, World +Jun 18 13:30:34 server sSMTP[18220]: . +Jun 18 13:30:34 server sSMTP[18220]: 250 2.0.0 Ok: queued as 3B1D6759AF +Jun 18 13:30:34 server sSMTP[18220]: QUIT +Jun 18 13:30:34 server sSMTP[18220]: 221 2.0.0 Bye +Jun 18 13:30:34 server sSMTP[18220]: Sent mail for c (221 2.0.0 Bye) uid=1000 username=c outbytes=439 + +\end{verbatim} + +Here is another non working one. +\begin{verbatim} +Jun 18 17:35:46 zmctankhome sSMTP[22488]: Set MailHub="smtp.mxes.net" +Jun 18 17:35:46 zmctankhome sSMTP[22488]: via SMTP Port Number="587" +Jun 18 17:35:47 zmctankhome sSMTP[22488]: Creating SSL connection to host +Jun 18 17:35:47 zmctankhome sSMTP[22488]: 220 smtp.mxes.net ESMTP Postfix 03 +Jun 18 17:35:47 zmctankhome sSMTP[22488]: EHLO .com +Jun 18 17:35:47 zmctankhome sSMTP[22488]: 250 CHUNKING +Jun 18 17:35:47 zmctankhome sSMTP[22488]: STARTTLS +Jun 18 17:35:47 zmctankhome sSMTP[22488]: 220 2.0.0 Ready to start TLS +Jun 18 17:35:48 zmctankhome sSMTP[22488]: SSL connection using ECDHE_RSA_AES_256_GCM_SHA384 +Jun 18 17:35:48 zmctankhome sSMTP[22488]: EHLO .com +Jun 18 17:35:48 zmctankhome sSMTP[22488]: +Jun 18 17:35:48 zmctankhome sSMTP[22488]: (.com) + +\end{verbatim} +Notice the TLS / SSL encryption is different. That can be a deal breaker. Ouch. Otherwise both are Debian (one is 9, the other 10). + + +\end{document} diff --git a/2020/Manual_Email_Server_Interaction/docs/6.tex~ b/2020/Manual_Email_Server_Interaction/docs/6.tex~ new file mode 100644 index 0000000..bc26842 --- /dev/null +++ b/2020/Manual_Email_Server_Interaction/docs/6.tex~ @@ -0,0 +1,130 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\title{\textbf{}} +\usepackage{graphicx} +\usepackage{caption } +\author{Steak Electronics} +%\date{06/4/19} +\begin{document} + +%\maketitle +\textbf{Email Stuff} + +\vspace{0.2in} + +%\textbf{Todo} +\section{Manual Email Server Interaction} +How to send emails manually. This is essential for troubleshooting automated email systems. + +\section{Basics} + +\begin{verbatim} +openssl s_client -debug -starttls smtp -crlf -connect smtp.emailprovider.com:465 +then continue with +EHLO hostname + +AUTH +etc... +\end{verbatim} + + +Here's an example: + +\begin{verbatim} +Compression: NONE +Expansion: NONE +No ALPN negotiated +SSL-Session: + Protocol : TLSv1.2 + Cipher : ECDHE-RSA-AES128-GCM-SHA256 + Session-ID: 480E968D62206D936801683C3BB12679DCB5CEDB0B20F4C3C2EB9DC97A54FAF4 + Session-ID-ctx: + Master-Key: BAB3C9AD7E209D2A979A621731BCB6A0B4368EEE03E2B99CF884D2671E2D62A1A365EEB50FC881CA2E4FD666082027BA + Key-Arg : None + PSK identity: None + PSK identity hint: None + SRP username: None + TLS session ticket lifetime hint: 300 (seconds) + TLS session ticket: + 0000 - 26 e3 0c d9 a7 0e b1 88-52 ce 35 aa a0 8d bd 40 &.......R.5....@ + 0010 - 0c 39 e4 60 04 59 06 bb-b2 7e 35 f9 56 36 d1 46 .9.`.Y...~5.V6.F + 0020 - d2 8c 48 29 44 fa 9f 2b-cd af fc 9a 68 b0 b8 63 ..H)D..+....h..c + 0030 - 35 06 cd ba 67 57 bf c4-84 19 5a 05 fd a7 62 51 5...gW....Z...bQ + 0040 - 1c 63 d7 b0 b4 ce 62 9f-66 13 7b 4c 74 54 86 fa .c....b.f.{LtT.. + 0050 - 3b 31 e1 e1 bd 19 29 e8-76 c2 6c 45 db 1d 32 50 ;1....).v.lE..2P + 0060 - 60 63 ec 38 a3 e5 de 26-d6 27 c6 26 60 09 1a 59 `c.8...&.'.&`..Y + 0070 - 59 e9 97 b4 07 9f 6c fc-46 cb 9e 0b 40 57 8f 71 Y.....l.F...@W.q + 0080 - 20 98 54 06 38 42 47 c1-e6 fd 74 92 dc 11 a5 97 .T.8BG...t..... + 0090 - 5d 81 7e 0b 66 b7 8e aa-c0 61 48 0c 90 84 ac 2d ].~.f....aH....- + + Start Time: 1590893833 + Timeout : 300 (sec) + Verify return code: 0 (ok) +--- +250 PIPELINING +EHLO localhost +write to 0x1c0dd20 [0x1c17853] (45 bytes => 45 (0x2D)) +0000 - 17 03 03 00 28 2a 65 16-62 f5 2c 8c e5 d9 f2 ef ....(*e.b.,..... +0010 - bb 8a ac 3a 6a dc db 32-79 56 7f 86 90 2e ed 44 ...:j..2yV.....D +0020 - 6e 6a ea 12 64 bb f8 1e-95 7e 63 16 c5 nj..d....~c.. +read from 0x1c0dd20 [0x1c13303] (5 bytes => 5 (0x5)) +0000 - 17 03 03 00 a7 ..... +read from 0x1c0dd20 [0x1c13308] (167 bytes => 167 (0xA7)) +0000 - 80 ae b0 b8 00 a2 d6 6b-47 42 2c 5d 30 1c 04 bd .......kGB,]0... +0010 - 5c bb 84 61 20 5a 2e 0d-c5 79 28 a9 21 d6 ad 1b \..a Z...y(.!... +0020 - 99 e5 fc da a1 fb da bc-70 9e 9b ac 5a e1 0f 8e ........p...Z... +0030 - bb c8 6d cb 2e 27 af 9b-4a 6a e8 17 69 31 63 14 ..m..'..Jj..i1c. +0040 - 24 68 d7 6b cc a7 dc 24-7c d6 4b fa 2a 3e 38 61 $h.k...$|.K.*>8a +0050 - 58 57 4d e8 1c e7 66 3c-22 0f 07 62 42 14 e7 78 XWM...f<"..bB..x +0060 - 86 8a 6c 6f 8f 79 06 f6-dc 33 b5 e9 ec db b8 b4 ..lo.y...3...... +0070 - 0e 7d d7 08 17 cd 4d b3-ac 16 79 08 87 df 31 95 .}....M...y...1. +0080 - 03 8d 9e 8c 25 09 ca 38-d0 be ee 45 38 d8 c4 a5 ....%..8...E8... +0090 - c3 90 44 23 5d e7 9b 1b-c0 40 d2 cc 40 c5 4a e4 ..D#]....@..@.J. +00a0 - 25 38 8b 05 2f b2 33 %8../.3 +250-www192.vfemail.net +250-8BITMIME +250-AUTH PLAIN +250-BURL imap +250-CHUNKING +250-ENHANCEDSTATUSCODES +250-SIZE 78643200 +250 PIPELINING +\end{verbatim} +Here you might enter at the prompt +\\ +\\ +AUTH LOGIN + +But that will fail: + +\begin{verbatim} +AUTH LOGIN +write to 0x1c0dd20 [0x1c17853] (41 bytes => 41 (0x29)) +0000 - 17 03 03 00 24 2a 65 16-62 f5 2c 8c e6 59 01 74 ....$*e.b.,..Y.t +0010 - 10 99 f5 d2 e6 75 88 d3-b9 58 0e 92 78 fc f1 ad .....u...X..x... +0020 - c6 aa 50 2a 6c f4 cf e5-dd ..P*l.... +read from 0x1c0dd20 [0x1c13303] (5 bytes => 5 (0x5)) +0000 - 17 03 03 00 3a ....: +read from 0x1c0dd20 [0x1c13308] (58 bytes => 58 (0x3A)) +0000 - 80 ae b0 b8 00 a2 d6 6c-bf e5 f8 3d 5a 39 93 2b .......l...=Z9.+ +0010 - f8 a2 12 03 0f 0f 5c a3-95 0a 6c b6 d9 fa 3d 09 ......\...l...=. +0020 - 73 f7 5c 26 8c 41 aa cf-87 0f 65 61 52 7d ec f7 s.\&.A....eaR}.. +0030 - 4a fe cd a4 f8 3e be 48-a3 92 J....>.H.. +504 5.5.4 Authentication failed. + +\end{verbatim} + +If you look at the EHLO, it responds with what auth it supports. In this case, AUTH PLAIN. So it accepts plain text passwords (over an encrypted session of course). + +Unfortunately, ssmtp (which I'm using) doesn't support plain. from ssmtp manual: + +Specifies mechanism for SMTP authentication. (Only LOGIN and CRAM-MD5) + +If you instead type AUTH PLAIN or auth plain, it will respond with 334. It is then waiting for credentials. +\begin{verbatim} + +ref: https://wiki.zoneminder.com/SMS_Notifications +\end{verbatim} + + +\end{document} diff --git a/2020/Manual_Email_Server_Interaction/docs/7.aux b/2020/Manual_Email_Server_Interaction/docs/7.aux new file mode 100644 index 0000000..beba759 --- /dev/null +++ b/2020/Manual_Email_Server_Interaction/docs/7.aux @@ -0,0 +1,3 @@ +\relax +\@writefile{toc}{\contentsline {section}{\numberline {1}Manual Email Server Interaction}{1}} +\@writefile{toc}{\contentsline {section}{\numberline {2}Basics}{1}} diff --git a/2020/Manual_Email_Server_Interaction/docs/7.log b/2020/Manual_Email_Server_Interaction/docs/7.log new file mode 100644 index 0000000..3bf9711 --- /dev/null +++ b/2020/Manual_Email_Server_Interaction/docs/7.log @@ -0,0 +1,530 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 18 JUN 2020 14:27 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2020/Manual_Em +ail_Server_Interaction/docs/7.tex + +(/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2020/Manual_Ema +il_Server_Interaction/docs/7.tex +LaTeX2e <2017/01/01> patch level 3 +Babel <3.9r> and hyphenation patterns for 3 language(s) loaded. +(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls +Document Class: article 2014/09/29 v1.4h Standard LaTeX document class +(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo +File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2014/10/28 v1.0g Enhanced LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks14 +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2016/10/09 v1.0u Standard LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: pdftex.def on input line 99. + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2017/01/12 v0.06k Graphics/color for pdfTeX + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty +Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty +Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) +) +\Gread@gobject=\count87 +)) +\Gin@req@height=\dimen103 +\Gin@req@width=\dimen104 +) +(/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty +Package: caption 2016/02/21 v3.3-144 Customizing captions (AR) + +(/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty +Package: caption3 2016/05/22 v1.7-166 caption3 kernel (AR) +Package caption3 Info: TeX engine: e-TeX on input line 67. +\captionmargin=\dimen105 +\captionmargin@=\dimen106 +\captionwidth=\dimen107 +\caption@tempdima=\dimen108 +\caption@indent=\dimen109 +\caption@parindent=\dimen110 +\caption@hangindent=\dimen111 +) +\c@ContinuedFloat=\count88 +) (./7.aux) +\openout1 = `7.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. + +(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count89 +\scratchdimen=\dimen112 +\scratchbox=\box26 +\nofMPsegments=\count90 +\nofMParguments=\count91 +\everyMPshowfont=\toks15 +\MPscratchCnt=\count92 +\MPscratchDim=\dimen113 +\MPnumerator=\count93 +\makeMPintoPDFobject=\count94 +\everyMPtoPDFconversion=\toks16 +) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty +Package: pdftexcmds 2016/05/21 v0.22 Utility functions of pdfTeX for LuaTeX (HO +) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty +Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) +Package ifluatex Info: LuaTeX not detected. +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2016/05/14 v3.1 Provides the ifpdf switch +) +Package pdftexcmds Info: LuaTeX not detected. +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode found. +) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty +Package: epstopdf-base 2016/05/15 v2.6 Base part for package epstopdf + +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty +Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty +Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO) +)) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty +Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty +Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty +Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) +Package etexcmds Info: Could not find \expanded. +(etexcmds) That can mean that you are not using pdfTeX 1.50 or +(etexcmds) that some package has redefined \expanded. +(etexcmds) In the latter case, load this package earlier. +))) +Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 +38. +Package grfext Info: Graphics extension search list: +(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE +G,.JBIG2,.JB2,.eps] +(grfext) \AppendGraphicsExtensions on input line 456. + +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv +e +)) +Package caption Info: Begin \AtBeginDocument code. +Package caption Info: End \AtBeginDocument code. + +Overfull \hbox (99.89502pt too wide) in paragraph at lines 28--28 +[]\OT1/cmtt/m/n/10.95 openssl s_client -debug -starttls smtp -crlf -connect smt +p.emailprovider.com:465[] + [] + + +Overfull \hbox (99.89502pt too wide) in paragraph at lines 92--92 +[] \OT1/cmtt/m/n/10.95 Session-ID: 480E968D62206D936801683C3BB12679DCB5CEDB0 +B20F4C3C2EB9DC97A54FAF4[] + [] + + +Overfull \hbox (283.85303pt too wide) in paragraph at lines 92--92 +[] \OT1/cmtt/m/n/10.95 Master-Key: BAB3C9AD7E209D2A979A621731BCB6A0B4368EEE0 +3E2B99CF884D2671E2D62A1A365EEB50FC881CA2E4FD666082027BA[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 92--92 +[] \OT1/cmtt/m/n/10.95 0000 - 26 e3 0c d9 a7 0e b1 88-52 ce 35 aa a0 8d bd 4 +0 &.......R.5....@[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 92--92 +[] \OT1/cmtt/m/n/10.95 0010 - 0c 39 e4 60 04 59 06 bb-b2 7e 35 f9 56 36 d1 4 +6 .9.`.Y...~5.V6.F[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 92--92 +[] \OT1/cmtt/m/n/10.95 0020 - d2 8c 48 29 44 fa 9f 2b-cd af fc 9a 68 b0 b8 6 +3 ..H)D..+....h..c[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 92--92 +[] \OT1/cmtt/m/n/10.95 0030 - 35 06 cd ba 67 57 bf c4-84 19 5a 05 fd a7 62 5 +1 5...gW....Z...bQ[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 92--92 +[] \OT1/cmtt/m/n/10.95 0040 - 1c 63 d7 b0 b4 ce 62 9f-66 13 7b 4c 74 54 86 f +a .c....b.f.{LtT..[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 92--92 +[] \OT1/cmtt/m/n/10.95 0050 - 3b 31 e1 e1 bd 19 29 e8-76 c2 6c 45 db 1d 32 5 +0 ;1....).v.lE..2P[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 92--92 +[] \OT1/cmtt/m/n/10.95 0060 - 60 63 ec 38 a3 e5 de 26-d6 27 c6 26 60 09 1a 5 +9 `c.8...&.'.&`..Y[] + [] + +[1 + +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] +Overfull \hbox (82.64896pt too wide) in paragraph at lines 92--92 +[] \OT1/cmtt/m/n/10.95 0070 - 59 e9 97 b4 07 9f 6c fc-46 cb 9e 0b 40 57 8f 7 +1 Y.....l.F...@W.q[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 92--92 +[] \OT1/cmtt/m/n/10.95 0080 - 20 98 54 06 38 42 47 c1-e6 fd 74 92 dc 11 a5 9 +7 .T.8BG...t.....[] + [] + + +Overfull \hbox (82.64896pt too wide) in paragraph at lines 92--92 +[] \OT1/cmtt/m/n/10.95 0090 - 5d 81 7e 0b 66 b7 8e aa-c0 61 48 0c 90 84 ac 2 +d ].~.f....aH....-[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 92--92 +[]\OT1/cmtt/m/n/10.95 0000 - 17 03 03 00 28 2a 65 16-62 f5 2c 8c e5 d9 f2 ef +....(*e.b.,.....[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 92--92 +[]\OT1/cmtt/m/n/10.95 0010 - bb 8a ac 3a 6a dc db 32-79 56 7f 86 90 2e ed 44 +...:j..2yV.....D[] + [] + + +Overfull \hbox (42.40814pt too wide) in paragraph at lines 92--92 +[]\OT1/cmtt/m/n/10.95 0020 - 6e 6a ea 12 64 bb f8 1e-95 7e 63 16 c5 +nj..d....~c..[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 92--92 +[]\OT1/cmtt/m/n/10.95 0000 - 80 ae b0 b8 00 a2 d6 6b-47 42 2c 5d 30 1c 04 bd +.......kGB,]0...[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 92--92 +[]\OT1/cmtt/m/n/10.95 0010 - 5c bb 84 61 20 5a 2e 0d-c5 79 28 a9 21 d6 ad 1b +\..a Z...y(.!...[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 92--92 +[]\OT1/cmtt/m/n/10.95 0020 - 99 e5 fc da a1 fb da bc-70 9e 9b ac 5a e1 0f 8e +........p...Z...[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 92--92 +[]\OT1/cmtt/m/n/10.95 0030 - bb c8 6d cb 2e 27 af 9b-4a 6a e8 17 69 31 63 14 +..m..'..Jj..i1c.[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 92--92 +[]\OT1/cmtt/m/n/10.95 0040 - 24 68 d7 6b cc a7 dc 24-7c d6 4b fa 2a 3e 38 61 +$h.k...$|.K.*>8a[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 92--92 +[]\OT1/cmtt/m/n/10.95 0050 - 58 57 4d e8 1c e7 66 3c-22 0f 07 62 42 14 e7 78 +XWM...f<"..bB..x[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 92--92 +[]\OT1/cmtt/m/n/10.95 0060 - 86 8a 6c 6f 8f 79 06 f6-dc 33 b5 e9 ec db b8 b4 +..lo.y...3......[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 92--92 +[]\OT1/cmtt/m/n/10.95 0070 - 0e 7d d7 08 17 cd 4d b3-ac 16 79 08 87 df 31 95 +.}....M...y...1.[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 92--92 +[]\OT1/cmtt/m/n/10.95 0080 - 03 8d 9e 8c 25 09 ca 38-d0 be ee 45 38 d8 c4 a5 +....%..8...E8...[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 92--92 +[]\OT1/cmtt/m/n/10.95 0090 - c3 90 44 23 5d e7 9b 1b-c0 40 d2 cc 40 c5 4a e4 +..D#]....@..@.J.[] + [] + + +Overfull \hbox (7.91602pt too wide) in paragraph at lines 92--92 +[]\OT1/cmtt/m/n/10.95 00a0 - 25 38 8b 05 2f b2 33 +%8../.3[] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 93--97 + + [] + +[2] +Overfull \hbox (59.6542pt too wide) in paragraph at lines 115--115 +[]\OT1/cmtt/m/n/10.95 0000 - 17 03 03 00 24 2a 65 16-62 f5 2c 8c e6 59 01 74 +....$*e.b.,..Y.t[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 115--115 +[]\OT1/cmtt/m/n/10.95 0010 - 10 99 f5 d2 e6 75 88 d3-b9 58 0e 92 78 fc f1 ad +.....u...X..x...[] + [] + + +Overfull \hbox (19.41339pt too wide) in paragraph at lines 115--115 +[]\OT1/cmtt/m/n/10.95 0020 - c6 aa 50 2a 6c f4 cf e5-dd +..P*l....[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 115--115 +[]\OT1/cmtt/m/n/10.95 0000 - 80 ae b0 b8 00 a2 d6 6c-bf e5 f8 3d 5a 39 93 2b +.......l...=Z9.+[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 115--115 +[]\OT1/cmtt/m/n/10.95 0010 - f8 a2 12 03 0f 0f 5c a3-95 0a 6c b6 d9 fa 3d 09 +......\...l...=.[] + [] + + +Overfull \hbox (59.6542pt too wide) in paragraph at lines 115--115 +[]\OT1/cmtt/m/n/10.95 0020 - 73 f7 5c 26 8c 41 aa cf-87 0f 65 61 52 7d ec f7 +s.\&.A....eaR}..[] + [] + + +Overfull \hbox (25.16208pt too wide) in paragraph at lines 115--115 +[]\OT1/cmtt/m/n/10.95 0030 - 4a fe cd a4 f8 3e be 48-a3 92 +J....>.H..[] + [] + + +Overfull \hbox (7.67688pt too wide) in paragraph at lines 121--122 +[]\OT1/cmr/m/n/10.95 Specifies mech-a-nism for SMTP au-then-ti-ca-tion. (Only L +O-GIN and CRAM- + [] + + +Overfull \hbox (30.91077pt too wide) in paragraph at lines 173--173 +[]\OT1/cmtt/m/n/10.95 Jun 16 01:01:02 server sSMTP[19958]: Creating SSL connect +ion to host[] + [] + + +Overfull \hbox (111.3924pt too wide) in paragraph at lines 173--173 +[]\OT1/cmtt/m/n/10.95 Jun 16 01:01:02 server sSMTP[19958]: SSL connection using + DHE_RSA_AES_256_CBC_SHA1[] + [] + + +Overfull \hbox (249.3609pt too wide) in paragraph at lines 173--173 +[]\OT1/cmtt/m/n/10.95 Jun 16 01:01:04 server sSMTP[19958]: Sent mail for .com ( +221 2.0.0 Bye) uid=0 username=root outbytes=91617[] + [] + + +Overfull \hbox (30.91077pt too wide) in paragraph at lines 173--173 +[]\OT1/cmtt/m/n/10.95 Jun 16 01:01:04 server sSMTP[19978]: Creating SSL connect +ion to host[] + [] + + +Overfull \hbox (111.3924pt too wide) in paragraph at lines 173--173 +[]\OT1/cmtt/m/n/10.95 Jun 16 01:01:05 server sSMTP[19978]: SSL connection using + DHE_RSA_AES_256_CBC_SHA1[] + [] + + +Overfull \hbox (249.3609pt too wide) in paragraph at lines 173--173 +[]\OT1/cmtt/m/n/10.95 Jun 16 01:01:06 server sSMTP[19978]: Sent mail for .com ( +221 2.0.0 Bye) uid=0 username=root outbytes=93751[] + [] + + +Overfull \hbox (30.91077pt too wide) in paragraph at lines 173--173 +[]\OT1/cmtt/m/n/10.95 Jun 18 13:30:31 server sSMTP[18220]: Creating SSL connect +ion to host[] + [] + + +Overfull \hbox (48.15683pt too wide) in paragraph at lines 173--173 +[]\OT1/cmtt/m/n/10.95 Jun 18 13:30:32 server sSMTP[18220]: 220 smtp.mxes.net ES +MTP Postfix 03[] + [] + +[3] +Overfull \hbox (13.6647pt too wide) in paragraph at lines 173--173 +[]\OT1/cmtt/m/n/10.95 Jun 18 13:30:32 server sSMTP[18220]: 220 2.0.0 Ready to s +tart TLS[] + [] + + +Overfull \hbox (111.3924pt too wide) in paragraph at lines 173--173 +[]\OT1/cmtt/m/n/10.95 Jun 18 13:30:32 server sSMTP[18220]: SSL connection using + DHE_RSA_AES_256_CBC_SHA1[] + [] + + +Overfull \hbox (53.90552pt too wide) in paragraph at lines 173--173 +[]\OT1/cmtt/m/n/10.95 Jun 18 13:30:32 server sSMTP[18220]: 235 2.7.0 Authentica +tion successful[] + [] + + +Overfull \hbox (7.91602pt too wide) in paragraph at lines 173--173 +[]\OT1/cmtt/m/n/10.95 Jun 18 13:30:32 server sSMTP[18220]: MAIL FROM:[] + [] + + +Overfull \hbox (53.90552pt too wide) in paragraph at lines 173--173 +[]\OT1/cmtt/m/n/10.95 Jun 18 13:30:33 server sSMTP[18220]: 354 End data with .[] + [] + + +Overfull \hbox (295.3504pt too wide) in paragraph at lines 173--173 +[]\OT1/cmtt/m/n/10.95 Jun 18 13:30:33 server sSMTP[18220]: Received: by .com (s +SMTP sendmail emulation); Thu, 18 Jun 2020 13:30:30 -0400[] + [] + + +Overfull \hbox (65.4029pt too wide) in paragraph at lines 173--173 +[]\OT1/cmtt/m/n/10.95 Jun 18 13:30:33 server sSMTP[18220]: Date: Thu, 18 Jun 20 +20 13:30:30 -0400[] + [] + + +Overfull \hbox (48.15683pt too wide) in paragraph at lines 173--173 +[]\OT1/cmtt/m/n/10.95 Jun 18 13:30:34 server sSMTP[18220]: 250 2.0.0 Ok: queued + as 3B1D6759AF[] + [] + + +Overfull \hbox (220.61746pt too wide) in paragraph at lines 173--173 +[]\OT1/cmtt/m/n/10.95 Jun 18 13:30:34 server sSMTP[18220]: Sent mail for c (221 + 2.0.0 Bye) uid=1000 username=c outbytes=439[] + [] + + +Overfull \hbox (7.91602pt too wide) in paragraph at lines 190--190 +[]\OT1/cmtt/m/n/10.95 Jun 18 17:35:46 server sSMTP[22488]: Set MailHub="smtp.mx +es.net"[] + [] + + +Overfull \hbox (2.16733pt too wide) in paragraph at lines 190--190 +[]\OT1/cmtt/m/n/10.95 Jun 18 17:35:46 server sSMTP[22488]: via SMTP Port Number +="587"[] + [] + + +Overfull \hbox (30.91077pt too wide) in paragraph at lines 190--190 +[]\OT1/cmtt/m/n/10.95 Jun 18 17:35:47 server sSMTP[22488]: Creating SSL connect +ion to host[] + [] + + +Overfull \hbox (48.15683pt too wide) in paragraph at lines 190--190 +[]\OT1/cmtt/m/n/10.95 Jun 18 17:35:47 server sSMTP[22488]: 220 smtp.mxes.net ES +MTP Postfix 03[] + [] + +[4] +Overfull \hbox (13.6647pt too wide) in paragraph at lines 190--190 +[]\OT1/cmtt/m/n/10.95 Jun 18 17:35:47 server sSMTP[22488]: 220 2.0.0 Ready to s +tart TLS[] + [] + + +Overfull \hbox (134.38715pt too wide) in paragraph at lines 190--190 +[]\OT1/cmtt/m/n/10.95 Jun 18 17:35:48 server sSMTP[22488]: SSL connection using + ECDHE_RSA_AES_256_GCM_SHA384[] + [] + +[5] (./7.aux) ) +Here is how much of TeX's memory you used: + 2539 strings out of 494945 + 40661 string characters out of 6181032 + 99805 words of memory out of 5000000 + 5844 multiletter control sequences out of 15000+600000 + 5021 words of font info for 19 fonts, out of 8000000 for 9000 + 14 hyphenation exceptions out of 8191 + 39i,4n,38p,352b,239s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on 7.pdf (5 pages, 71948 bytes). +PDF statistics: + 36 PDF objects out of 1000 (max. 8388607) + 24 compressed objects within 1 object stream + 0 named destinations out of 1000 (max. 500000) + 1 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/2020/Manual_Email_Server_Interaction/docs/7.pdf b/2020/Manual_Email_Server_Interaction/docs/7.pdf new file mode 100644 index 0000000..8847dad Binary files /dev/null and b/2020/Manual_Email_Server_Interaction/docs/7.pdf differ diff --git a/2020/Manual_Email_Server_Interaction/docs/7.tex b/2020/Manual_Email_Server_Interaction/docs/7.tex new file mode 100644 index 0000000..9422192 --- /dev/null +++ b/2020/Manual_Email_Server_Interaction/docs/7.tex @@ -0,0 +1,202 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\title{\textbf{}} +\usepackage{graphicx} +\usepackage{caption } +\author{Steak Electronics} +%\date{06/4/19} +\begin{document} + +%\maketitle +\textbf{Email Stuff} + +\vspace{0.2in} + +%\textbf{Todo} +\section{Manual Email Server Interaction} +How to send emails manually. This is essential for troubleshooting automated email systems. + +\section{Basics} + +\begin{verbatim} +openssl s_client -debug -starttls smtp -crlf -connect smtp.emailprovider.com:465 +then continue with +EHLO hostname + +AUTH +etc... +\end{verbatim} + + +Here's an example: + +\begin{verbatim} +Compression: NONE +Expansion: NONE +No ALPN negotiated +SSL-Session: + Protocol : TLSv1.2 + Cipher : ECDHE-RSA-AES128-GCM-SHA256 + Session-ID: 480E968D62206D936801683C3BB12679DCB5CEDB0B20F4C3C2EB9DC97A54FAF4 + Session-ID-ctx: + Master-Key: BAB3C9AD7E209D2A979A621731BCB6A0B4368EEE03E2B99CF884D2671E2D62A1A365EEB50FC881CA2E4FD666082027BA + Key-Arg : None + PSK identity: None + PSK identity hint: None + SRP username: None + TLS session ticket lifetime hint: 300 (seconds) + TLS session ticket: + 0000 - 26 e3 0c d9 a7 0e b1 88-52 ce 35 aa a0 8d bd 40 &.......R.5....@ + 0010 - 0c 39 e4 60 04 59 06 bb-b2 7e 35 f9 56 36 d1 46 .9.`.Y...~5.V6.F + 0020 - d2 8c 48 29 44 fa 9f 2b-cd af fc 9a 68 b0 b8 63 ..H)D..+....h..c + 0030 - 35 06 cd ba 67 57 bf c4-84 19 5a 05 fd a7 62 51 5...gW....Z...bQ + 0040 - 1c 63 d7 b0 b4 ce 62 9f-66 13 7b 4c 74 54 86 fa .c....b.f.{LtT.. + 0050 - 3b 31 e1 e1 bd 19 29 e8-76 c2 6c 45 db 1d 32 50 ;1....).v.lE..2P + 0060 - 60 63 ec 38 a3 e5 de 26-d6 27 c6 26 60 09 1a 59 `c.8...&.'.&`..Y + 0070 - 59 e9 97 b4 07 9f 6c fc-46 cb 9e 0b 40 57 8f 71 Y.....l.F...@W.q + 0080 - 20 98 54 06 38 42 47 c1-e6 fd 74 92 dc 11 a5 97 .T.8BG...t..... + 0090 - 5d 81 7e 0b 66 b7 8e aa-c0 61 48 0c 90 84 ac 2d ].~.f....aH....- + + Start Time: 1590893833 + Timeout : 300 (sec) + Verify return code: 0 (ok) +--- +250 PIPELINING +EHLO localhost +write to 0x1c0dd20 [0x1c17853] (45 bytes => 45 (0x2D)) +0000 - 17 03 03 00 28 2a 65 16-62 f5 2c 8c e5 d9 f2 ef ....(*e.b.,..... +0010 - bb 8a ac 3a 6a dc db 32-79 56 7f 86 90 2e ed 44 ...:j..2yV.....D +0020 - 6e 6a ea 12 64 bb f8 1e-95 7e 63 16 c5 nj..d....~c.. +read from 0x1c0dd20 [0x1c13303] (5 bytes => 5 (0x5)) +0000 - 17 03 03 00 a7 ..... +read from 0x1c0dd20 [0x1c13308] (167 bytes => 167 (0xA7)) +0000 - 80 ae b0 b8 00 a2 d6 6b-47 42 2c 5d 30 1c 04 bd .......kGB,]0... +0010 - 5c bb 84 61 20 5a 2e 0d-c5 79 28 a9 21 d6 ad 1b \..a Z...y(.!... +0020 - 99 e5 fc da a1 fb da bc-70 9e 9b ac 5a e1 0f 8e ........p...Z... +0030 - bb c8 6d cb 2e 27 af 9b-4a 6a e8 17 69 31 63 14 ..m..'..Jj..i1c. +0040 - 24 68 d7 6b cc a7 dc 24-7c d6 4b fa 2a 3e 38 61 $h.k...$|.K.*>8a +0050 - 58 57 4d e8 1c e7 66 3c-22 0f 07 62 42 14 e7 78 XWM...f<"..bB..x +0060 - 86 8a 6c 6f 8f 79 06 f6-dc 33 b5 e9 ec db b8 b4 ..lo.y...3...... +0070 - 0e 7d d7 08 17 cd 4d b3-ac 16 79 08 87 df 31 95 .}....M...y...1. +0080 - 03 8d 9e 8c 25 09 ca 38-d0 be ee 45 38 d8 c4 a5 ....%..8...E8... +0090 - c3 90 44 23 5d e7 9b 1b-c0 40 d2 cc 40 c5 4a e4 ..D#]....@..@.J. +00a0 - 25 38 8b 05 2f b2 33 %8../.3 +250-www192.vfemail.net +250-8BITMIME +250-AUTH PLAIN +250-BURL imap +250-CHUNKING +250-ENHANCEDSTATUSCODES +250-SIZE 78643200 +250 PIPELINING +\end{verbatim} +Here you might enter at the prompt +\\ +\\ +AUTH LOGIN + +But that will fail: + +\begin{verbatim} +AUTH LOGIN +write to 0x1c0dd20 [0x1c17853] (41 bytes => 41 (0x29)) +0000 - 17 03 03 00 24 2a 65 16-62 f5 2c 8c e6 59 01 74 ....$*e.b.,..Y.t +0010 - 10 99 f5 d2 e6 75 88 d3-b9 58 0e 92 78 fc f1 ad .....u...X..x... +0020 - c6 aa 50 2a 6c f4 cf e5-dd ..P*l.... +read from 0x1c0dd20 [0x1c13303] (5 bytes => 5 (0x5)) +0000 - 17 03 03 00 3a ....: +read from 0x1c0dd20 [0x1c13308] (58 bytes => 58 (0x3A)) +0000 - 80 ae b0 b8 00 a2 d6 6c-bf e5 f8 3d 5a 39 93 2b .......l...=Z9.+ +0010 - f8 a2 12 03 0f 0f 5c a3-95 0a 6c b6 d9 fa 3d 09 ......\...l...=. +0020 - 73 f7 5c 26 8c 41 aa cf-87 0f 65 61 52 7d ec f7 s.\&.A....eaR}.. +0030 - 4a fe cd a4 f8 3e be 48-a3 92 J....>.H.. +504 5.5.4 Authentication failed. + +\end{verbatim} + +If you look at the EHLO, it responds with what auth it supports. In this case, AUTH PLAIN. So it accepts plain text passwords (over an encrypted session of course). + +Unfortunately, ssmtp (which I'm using) doesn't support plain. from ssmtp manual: + +Specifies mechanism for SMTP authentication. (Only LOGIN and CRAM-MD5) + +If you instead type AUTH PLAIN or auth plain, it will respond with 334. It is then waiting for credentials. +\begin{verbatim} + +ref: https://wiki.zoneminder.com/SMS_Notifications +\end{verbatim} + +You can also compare logs in /var/log/mail.log +Here's a working example: + +\begin{verbatim} +Jun 16 01:01:02 server sSMTP[19958]: Creating SSL connection to host +Jun 16 01:01:02 server sSMTP[19958]: SSL connection using DHE_RSA_AES_256_CBC_SHA1 +Jun 16 01:01:04 server sSMTP[19958]: Sent mail for .com (221 2.0.0 Bye) uid=0 username=root outbytes=91617 +Jun 16 01:01:04 server sSMTP[19978]: Creating SSL connection to host +Jun 16 01:01:05 server sSMTP[19978]: SSL connection using DHE_RSA_AES_256_CBC_SHA1 +Jun 16 01:01:06 server sSMTP[19978]: Sent mail for .com (221 2.0.0 Bye) uid=0 username=root outbytes=93751 +Jun 18 13:30:31 server sSMTP[18220]: Creating SSL connection to host +Jun 18 13:30:32 server sSMTP[18220]: 220 smtp.mxes.net ESMTP Postfix 03 +Jun 18 13:30:32 server sSMTP[18220]: EHLO s.com +Jun 18 13:30:32 server sSMTP[18220]: 250 CHUNKING +Jun 18 13:30:32 server sSMTP[18220]: STARTTLS +Jun 18 13:30:32 server sSMTP[18220]: 220 2.0.0 Ready to start TLS +Jun 18 13:30:32 server sSMTP[18220]: SSL connection using DHE_RSA_AES_256_CBC_SHA1 +Jun 18 13:30:32 server sSMTP[18220]: EHLO s.com +Jun 18 13:30:32 server sSMTP[18220]: 250 CHUNKING +Jun 18 13:30:32 server sSMTP[18220]: AUTH LOGIN +Jun 18 13:30:32 server sSMTP[18220]: 334 lslslsls +Jun 18 13:30:32 server sSMTP[18220]: somethuing +Jun 18 13:30:32 server sSMTP[18220]: 334 something else6 +Jun 18 13:30:32 server sSMTP[18220]: somehashedstuff +Jun 18 13:30:32 server sSMTP[18220]: 235 2.7.0 Authentication successful +Jun 18 13:30:32 server sSMTP[18220]: MAIL FROM: +Jun 18 13:30:32 server sSMTP[18220]: 250 2.1.0 Ok +Jun 18 13:30:32 server sSMTP[18220]: RCPT TO: +Jun 18 13:30:33 server sSMTP[18220]: 250 2.1.5 Ok +Jun 18 13:30:33 server sSMTP[18220]: DATA +Jun 18 13:30:33 server sSMTP[18220]: 354 End data with . +Jun 18 13:30:33 server sSMTP[18220]: Received: by .com (sSMTP sendmail emulation); Thu, 18 Jun 2020 13:30:30 -0400 +Jun 18 13:30:33 server sSMTP[18220]: From: "C" +Jun 18 13:30:33 server sSMTP[18220]: Date: Thu, 18 Jun 2020 13:30:30 -0400 +Jun 18 13:30:33 server sSMTP[18220]: To: j +Jun 18 13:30:33 server sSMTP[18220]: Subject: My email check +Jun 18 13:30:33 server sSMTP[18220]: +Jun 18 13:30:33 server sSMTP[18220]: Hello, World +Jun 18 13:30:34 server sSMTP[18220]: . +Jun 18 13:30:34 server sSMTP[18220]: 250 2.0.0 Ok: queued as 3B1D6759AF +Jun 18 13:30:34 server sSMTP[18220]: QUIT +Jun 18 13:30:34 server sSMTP[18220]: 221 2.0.0 Bye +Jun 18 13:30:34 server sSMTP[18220]: Sent mail for c (221 2.0.0 Bye) uid=1000 username=c outbytes=439 + +\end{verbatim} + +Here is another non working one. +\begin{verbatim} +Jun 18 17:35:46 server sSMTP[22488]: Set MailHub="smtp.mxes.net" +Jun 18 17:35:46 server sSMTP[22488]: via SMTP Port Number="587" +Jun 18 17:35:47 server sSMTP[22488]: Creating SSL connection to host +Jun 18 17:35:47 server sSMTP[22488]: 220 smtp.mxes.net ESMTP Postfix 03 +Jun 18 17:35:47 server sSMTP[22488]: EHLO .com +Jun 18 17:35:47 server sSMTP[22488]: 250 CHUNKING +Jun 18 17:35:47 server sSMTP[22488]: STARTTLS +Jun 18 17:35:47 server sSMTP[22488]: 220 2.0.0 Ready to start TLS +Jun 18 17:35:48 server sSMTP[22488]: SSL connection using ECDHE_RSA_AES_256_GCM_SHA384 +Jun 18 17:35:48 server sSMTP[22488]: EHLO .com +Jun 18 17:35:48 server sSMTP[22488]: +Jun 18 17:35:48 server sSMTP[22488]: (.com) + +\end{verbatim} +Notice the TLS / SSL encryption is different. That can be a deal breaker. Ouch. Otherwise both are Debian (one is 8, the other 10). + +After looking into the rabbit hole of openssl encryption, i found out that msmtp can assign tls priority via cmd line, so that appears to be the way to go. ssmtp doesn't really have options for that, though I'm sure it could be recompiled. + +See notes in resources/groundwork. + +Encryption is a dead end. It's a never ending game of cat and mouse. The only valid move is to not play. + +Additionally, openssl is a mess. Over complicated. + + +\end{document} diff --git a/2020/Manual_Email_Server_Interaction/docs/7.tex~ b/2020/Manual_Email_Server_Interaction/docs/7.tex~ new file mode 100644 index 0000000..f767481 --- /dev/null +++ b/2020/Manual_Email_Server_Interaction/docs/7.tex~ @@ -0,0 +1,194 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\title{\textbf{}} +\usepackage{graphicx} +\usepackage{caption } +\author{Steak Electronics} +%\date{06/4/19} +\begin{document} + +%\maketitle +\textbf{Email Stuff} + +\vspace{0.2in} + +%\textbf{Todo} +\section{Manual Email Server Interaction} +How to send emails manually. This is essential for troubleshooting automated email systems. + +\section{Basics} + +\begin{verbatim} +openssl s_client -debug -starttls smtp -crlf -connect smtp.emailprovider.com:465 +then continue with +EHLO hostname + +AUTH +etc... +\end{verbatim} + + +Here's an example: + +\begin{verbatim} +Compression: NONE +Expansion: NONE +No ALPN negotiated +SSL-Session: + Protocol : TLSv1.2 + Cipher : ECDHE-RSA-AES128-GCM-SHA256 + Session-ID: 480E968D62206D936801683C3BB12679DCB5CEDB0B20F4C3C2EB9DC97A54FAF4 + Session-ID-ctx: + Master-Key: BAB3C9AD7E209D2A979A621731BCB6A0B4368EEE03E2B99CF884D2671E2D62A1A365EEB50FC881CA2E4FD666082027BA + Key-Arg : None + PSK identity: None + PSK identity hint: None + SRP username: None + TLS session ticket lifetime hint: 300 (seconds) + TLS session ticket: + 0000 - 26 e3 0c d9 a7 0e b1 88-52 ce 35 aa a0 8d bd 40 &.......R.5....@ + 0010 - 0c 39 e4 60 04 59 06 bb-b2 7e 35 f9 56 36 d1 46 .9.`.Y...~5.V6.F + 0020 - d2 8c 48 29 44 fa 9f 2b-cd af fc 9a 68 b0 b8 63 ..H)D..+....h..c + 0030 - 35 06 cd ba 67 57 bf c4-84 19 5a 05 fd a7 62 51 5...gW....Z...bQ + 0040 - 1c 63 d7 b0 b4 ce 62 9f-66 13 7b 4c 74 54 86 fa .c....b.f.{LtT.. + 0050 - 3b 31 e1 e1 bd 19 29 e8-76 c2 6c 45 db 1d 32 50 ;1....).v.lE..2P + 0060 - 60 63 ec 38 a3 e5 de 26-d6 27 c6 26 60 09 1a 59 `c.8...&.'.&`..Y + 0070 - 59 e9 97 b4 07 9f 6c fc-46 cb 9e 0b 40 57 8f 71 Y.....l.F...@W.q + 0080 - 20 98 54 06 38 42 47 c1-e6 fd 74 92 dc 11 a5 97 .T.8BG...t..... + 0090 - 5d 81 7e 0b 66 b7 8e aa-c0 61 48 0c 90 84 ac 2d ].~.f....aH....- + + Start Time: 1590893833 + Timeout : 300 (sec) + Verify return code: 0 (ok) +--- +250 PIPELINING +EHLO localhost +write to 0x1c0dd20 [0x1c17853] (45 bytes => 45 (0x2D)) +0000 - 17 03 03 00 28 2a 65 16-62 f5 2c 8c e5 d9 f2 ef ....(*e.b.,..... +0010 - bb 8a ac 3a 6a dc db 32-79 56 7f 86 90 2e ed 44 ...:j..2yV.....D +0020 - 6e 6a ea 12 64 bb f8 1e-95 7e 63 16 c5 nj..d....~c.. +read from 0x1c0dd20 [0x1c13303] (5 bytes => 5 (0x5)) +0000 - 17 03 03 00 a7 ..... +read from 0x1c0dd20 [0x1c13308] (167 bytes => 167 (0xA7)) +0000 - 80 ae b0 b8 00 a2 d6 6b-47 42 2c 5d 30 1c 04 bd .......kGB,]0... +0010 - 5c bb 84 61 20 5a 2e 0d-c5 79 28 a9 21 d6 ad 1b \..a Z...y(.!... +0020 - 99 e5 fc da a1 fb da bc-70 9e 9b ac 5a e1 0f 8e ........p...Z... +0030 - bb c8 6d cb 2e 27 af 9b-4a 6a e8 17 69 31 63 14 ..m..'..Jj..i1c. +0040 - 24 68 d7 6b cc a7 dc 24-7c d6 4b fa 2a 3e 38 61 $h.k...$|.K.*>8a +0050 - 58 57 4d e8 1c e7 66 3c-22 0f 07 62 42 14 e7 78 XWM...f<"..bB..x +0060 - 86 8a 6c 6f 8f 79 06 f6-dc 33 b5 e9 ec db b8 b4 ..lo.y...3...... +0070 - 0e 7d d7 08 17 cd 4d b3-ac 16 79 08 87 df 31 95 .}....M...y...1. +0080 - 03 8d 9e 8c 25 09 ca 38-d0 be ee 45 38 d8 c4 a5 ....%..8...E8... +0090 - c3 90 44 23 5d e7 9b 1b-c0 40 d2 cc 40 c5 4a e4 ..D#]....@..@.J. +00a0 - 25 38 8b 05 2f b2 33 %8../.3 +250-www192.vfemail.net +250-8BITMIME +250-AUTH PLAIN +250-BURL imap +250-CHUNKING +250-ENHANCEDSTATUSCODES +250-SIZE 78643200 +250 PIPELINING +\end{verbatim} +Here you might enter at the prompt +\\ +\\ +AUTH LOGIN + +But that will fail: + +\begin{verbatim} +AUTH LOGIN +write to 0x1c0dd20 [0x1c17853] (41 bytes => 41 (0x29)) +0000 - 17 03 03 00 24 2a 65 16-62 f5 2c 8c e6 59 01 74 ....$*e.b.,..Y.t +0010 - 10 99 f5 d2 e6 75 88 d3-b9 58 0e 92 78 fc f1 ad .....u...X..x... +0020 - c6 aa 50 2a 6c f4 cf e5-dd ..P*l.... +read from 0x1c0dd20 [0x1c13303] (5 bytes => 5 (0x5)) +0000 - 17 03 03 00 3a ....: +read from 0x1c0dd20 [0x1c13308] (58 bytes => 58 (0x3A)) +0000 - 80 ae b0 b8 00 a2 d6 6c-bf e5 f8 3d 5a 39 93 2b .......l...=Z9.+ +0010 - f8 a2 12 03 0f 0f 5c a3-95 0a 6c b6 d9 fa 3d 09 ......\...l...=. +0020 - 73 f7 5c 26 8c 41 aa cf-87 0f 65 61 52 7d ec f7 s.\&.A....eaR}.. +0030 - 4a fe cd a4 f8 3e be 48-a3 92 J....>.H.. +504 5.5.4 Authentication failed. + +\end{verbatim} + +If you look at the EHLO, it responds with what auth it supports. In this case, AUTH PLAIN. So it accepts plain text passwords (over an encrypted session of course). + +Unfortunately, ssmtp (which I'm using) doesn't support plain. from ssmtp manual: + +Specifies mechanism for SMTP authentication. (Only LOGIN and CRAM-MD5) + +If you instead type AUTH PLAIN or auth plain, it will respond with 334. It is then waiting for credentials. +\begin{verbatim} + +ref: https://wiki.zoneminder.com/SMS_Notifications +\end{verbatim} + +You can also compare logs in /var/log/mail.log +Here's a working example: + +\begin{verbatim} +Jun 16 01:01:02 server sSMTP[19958]: Creating SSL connection to host +Jun 16 01:01:02 server sSMTP[19958]: SSL connection using DHE_RSA_AES_256_CBC_SHA1 +Jun 16 01:01:04 server sSMTP[19958]: Sent mail for .com (221 2.0.0 Bye) uid=0 username=root outbytes=91617 +Jun 16 01:01:04 server sSMTP[19978]: Creating SSL connection to host +Jun 16 01:01:05 server sSMTP[19978]: SSL connection using DHE_RSA_AES_256_CBC_SHA1 +Jun 16 01:01:06 server sSMTP[19978]: Sent mail for .com (221 2.0.0 Bye) uid=0 username=root outbytes=93751 +Jun 18 13:30:31 server sSMTP[18220]: Creating SSL connection to host +Jun 18 13:30:32 server sSMTP[18220]: 220 smtp.mxes.net ESMTP Postfix 03 +Jun 18 13:30:32 server sSMTP[18220]: EHLO s.com +Jun 18 13:30:32 server sSMTP[18220]: 250 CHUNKING +Jun 18 13:30:32 server sSMTP[18220]: STARTTLS +Jun 18 13:30:32 server sSMTP[18220]: 220 2.0.0 Ready to start TLS +Jun 18 13:30:32 server sSMTP[18220]: SSL connection using DHE_RSA_AES_256_CBC_SHA1 +Jun 18 13:30:32 server sSMTP[18220]: EHLO s.com +Jun 18 13:30:32 server sSMTP[18220]: 250 CHUNKING +Jun 18 13:30:32 server sSMTP[18220]: AUTH LOGIN +Jun 18 13:30:32 server sSMTP[18220]: 334 lslslsls +Jun 18 13:30:32 server sSMTP[18220]: somethuing +Jun 18 13:30:32 server sSMTP[18220]: 334 something else6 +Jun 18 13:30:32 server sSMTP[18220]: somehashedstuff +Jun 18 13:30:32 server sSMTP[18220]: 235 2.7.0 Authentication successful +Jun 18 13:30:32 server sSMTP[18220]: MAIL FROM: +Jun 18 13:30:32 server sSMTP[18220]: 250 2.1.0 Ok +Jun 18 13:30:32 server sSMTP[18220]: RCPT TO: +Jun 18 13:30:33 server sSMTP[18220]: 250 2.1.5 Ok +Jun 18 13:30:33 server sSMTP[18220]: DATA +Jun 18 13:30:33 server sSMTP[18220]: 354 End data with . +Jun 18 13:30:33 server sSMTP[18220]: Received: by .com (sSMTP sendmail emulation); Thu, 18 Jun 2020 13:30:30 -0400 +Jun 18 13:30:33 server sSMTP[18220]: From: "C" +Jun 18 13:30:33 server sSMTP[18220]: Date: Thu, 18 Jun 2020 13:30:30 -0400 +Jun 18 13:30:33 server sSMTP[18220]: To: j +Jun 18 13:30:33 server sSMTP[18220]: Subject: My email check +Jun 18 13:30:33 server sSMTP[18220]: +Jun 18 13:30:33 server sSMTP[18220]: Hello, World +Jun 18 13:30:34 server sSMTP[18220]: . +Jun 18 13:30:34 server sSMTP[18220]: 250 2.0.0 Ok: queued as 3B1D6759AF +Jun 18 13:30:34 server sSMTP[18220]: QUIT +Jun 18 13:30:34 server sSMTP[18220]: 221 2.0.0 Bye +Jun 18 13:30:34 server sSMTP[18220]: Sent mail for c (221 2.0.0 Bye) uid=1000 username=c outbytes=439 + +\end{verbatim} + +Here is another non working one. +\begin{verbatim} +Jun 18 17:35:46 zmctankhome sSMTP[22488]: Set MailHub="smtp.mxes.net" +Jun 18 17:35:46 zmctankhome sSMTP[22488]: via SMTP Port Number="587" +Jun 18 17:35:47 zmctankhome sSMTP[22488]: Creating SSL connection to host +Jun 18 17:35:47 zmctankhome sSMTP[22488]: 220 smtp.mxes.net ESMTP Postfix 03 +Jun 18 17:35:47 zmctankhome sSMTP[22488]: EHLO .com +Jun 18 17:35:47 zmctankhome sSMTP[22488]: 250 CHUNKING +Jun 18 17:35:47 zmctankhome sSMTP[22488]: STARTTLS +Jun 18 17:35:47 zmctankhome sSMTP[22488]: 220 2.0.0 Ready to start TLS +Jun 18 17:35:48 zmctankhome sSMTP[22488]: SSL connection using ECDHE_RSA_AES_256_GCM_SHA384 +Jun 18 17:35:48 zmctankhome sSMTP[22488]: EHLO .com +Jun 18 17:35:48 zmctankhome sSMTP[22488]: +Jun 18 17:35:48 zmctankhome sSMTP[22488]: (.com) + +\end{verbatim} +Notice the TLS / SSL encryption is different. That can be a deal breaker. Ouch. Otherwise both are Debian (one is 9, the other 10). + + +\end{document} diff --git a/2020/Manual_Email_Server_Interaction/resources/groundwork b/2020/Manual_Email_Server_Interaction/resources/groundwork new file mode 100644 index 0000000..3987e70 --- /dev/null +++ b/2020/Manual_Email_Server_Interaction/resources/groundwork @@ -0,0 +1,108 @@ +todo: find way to choose preferred encryption + +openssl has a command (at bottom of man) +cipher +man cipher: + +EXAMPLES + Verbose listing of all OpenSSL ciphers including NULL ciphers: + + openssl ciphers -v 'ALL:eNULL' + + Include all ciphers except NULL and anonymous DH then sort by strength: + + openssl ciphers -v 'ALL:!ADH:@STRENGTH' + + Include all ciphers except ones with no encryption (eNULL) or no authentication (aNULL): + + openssl ciphers -v 'ALL:!aNULL' + + Include only 3DES ciphers and then place RSA ciphers last: + + openssl ciphers -v '3DES:+RSA' + + Include all RC4 ciphers but leave out those without authentication: + + openssl ciphers -v 'RC4:!COMPLEMENTOFDEFAULT' + + Include all ciphers with RSA authentication but leave out ciphers without encryption. + + openssl ciphers -v 'RSA:!COMPLEMENTOFALL' + + Set security level to 2 and display all ciphers consistent with level 2: + + openssl ciphers -s -v 'ALL:@SECLEVEL=2' + + +digging deeper: + +https://github.com/openssl/openssl/issues/7562 + + + + +'' + +To everyone who is reading this issue: OpenSSL 1.1 uses an independent, new interface to set ciphersuits for TLSv1.3, the old ciphersuits interface is only effective up to TLSv1.2, so changing it has no effect for TLSv1.3. And as currently almost no application has adopted the new interface, there is no way to change ciphersuits for TLSv1.3. + +But there is a workaround: you can change the global openssl.cnf to modify the default TLSv1.3 ciphersuits for OpenSSL itself, so every program in the system will use the ciphersuits you specified. + +For example, appending these lines... + +openssl_conf = default_conf + +[default_conf] +ssl_conf = ssl_sect + +[ssl_sect] +system_default = system_default_sect + +[system_default_sect] +Ciphersuites = TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256 + +After changing it, you'll see the new global default, + +$ openssl ciphers -v '' +TLS_CHACHA20_POLY1305_SHA256 TLSv1.3 Kx=any Au=any Enc=CHACHA20/POLY1305(256) Mac=AEAD +TLS_AES_256_GCM_SHA384 TLSv1.3 Kx=any Au=any Enc=AESGCM(256) Mac=AEAD +TLS_AES_128_GCM_SHA256 TLSv1.3 Kx=any Au=any Enc=AESGCM(128) Mac=AEAD + +The path to global openssl.cnf is usually OPENSSLDIR, which can be obtained by... + +$ openssl version -a | grep OPENSSLDIR +OPENSSLDIR: "/etc/ssl" +'' + + +goes no where. what a mess. +Oh, it's openssl ciphers +NOT +openssl cipher +don't get that mixed up. + +root@zmctankhome:/etc/ssl# openssl ciphers -ciphersuites -help +Error setting TLSv1.3 ciphersuites +140089759171712:error:1426E0B9:SSL routines:ciphersuite_cb:no cipher match:../ssl/ssl_ciph.c:1294: + + +that didn't go anywhere on a search. + +goal: disable openssl cipher (i.e. just one) + +lots of dead ends +https://stackoverflow.com/questions/29162982/how-do-i-disable-a-particular-cipher-suite-in-openssl +only for c code +https://serverfault.com/questions/951775/disable-weak-cipher-ubuntu-16 +is only for apache and ssh (poor subject title - misleading). + +https://serverfault.com/questions/918082/openssl-disable-tlsv1-and-certain-insecure-ciphers-system-wide +here they recommend application specific files. +no rule tht says there cant be a global. smwisicdt +bullshit. + +man msmtp + - An SMTP client +has tls priorities. + +that should work. considered solved. + diff --git a/2020/Manual_Email_Server_Interaction/resources/groundwork (copy 1) b/2020/Manual_Email_Server_Interaction/resources/groundwork (copy 1) new file mode 100644 index 0000000..3987e70 --- /dev/null +++ b/2020/Manual_Email_Server_Interaction/resources/groundwork (copy 1) @@ -0,0 +1,108 @@ +todo: find way to choose preferred encryption + +openssl has a command (at bottom of man) +cipher +man cipher: + +EXAMPLES + Verbose listing of all OpenSSL ciphers including NULL ciphers: + + openssl ciphers -v 'ALL:eNULL' + + Include all ciphers except NULL and anonymous DH then sort by strength: + + openssl ciphers -v 'ALL:!ADH:@STRENGTH' + + Include all ciphers except ones with no encryption (eNULL) or no authentication (aNULL): + + openssl ciphers -v 'ALL:!aNULL' + + Include only 3DES ciphers and then place RSA ciphers last: + + openssl ciphers -v '3DES:+RSA' + + Include all RC4 ciphers but leave out those without authentication: + + openssl ciphers -v 'RC4:!COMPLEMENTOFDEFAULT' + + Include all ciphers with RSA authentication but leave out ciphers without encryption. + + openssl ciphers -v 'RSA:!COMPLEMENTOFALL' + + Set security level to 2 and display all ciphers consistent with level 2: + + openssl ciphers -s -v 'ALL:@SECLEVEL=2' + + +digging deeper: + +https://github.com/openssl/openssl/issues/7562 + + + + +'' + +To everyone who is reading this issue: OpenSSL 1.1 uses an independent, new interface to set ciphersuits for TLSv1.3, the old ciphersuits interface is only effective up to TLSv1.2, so changing it has no effect for TLSv1.3. And as currently almost no application has adopted the new interface, there is no way to change ciphersuits for TLSv1.3. + +But there is a workaround: you can change the global openssl.cnf to modify the default TLSv1.3 ciphersuits for OpenSSL itself, so every program in the system will use the ciphersuits you specified. + +For example, appending these lines... + +openssl_conf = default_conf + +[default_conf] +ssl_conf = ssl_sect + +[ssl_sect] +system_default = system_default_sect + +[system_default_sect] +Ciphersuites = TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256 + +After changing it, you'll see the new global default, + +$ openssl ciphers -v '' +TLS_CHACHA20_POLY1305_SHA256 TLSv1.3 Kx=any Au=any Enc=CHACHA20/POLY1305(256) Mac=AEAD +TLS_AES_256_GCM_SHA384 TLSv1.3 Kx=any Au=any Enc=AESGCM(256) Mac=AEAD +TLS_AES_128_GCM_SHA256 TLSv1.3 Kx=any Au=any Enc=AESGCM(128) Mac=AEAD + +The path to global openssl.cnf is usually OPENSSLDIR, which can be obtained by... + +$ openssl version -a | grep OPENSSLDIR +OPENSSLDIR: "/etc/ssl" +'' + + +goes no where. what a mess. +Oh, it's openssl ciphers +NOT +openssl cipher +don't get that mixed up. + +root@zmctankhome:/etc/ssl# openssl ciphers -ciphersuites -help +Error setting TLSv1.3 ciphersuites +140089759171712:error:1426E0B9:SSL routines:ciphersuite_cb:no cipher match:../ssl/ssl_ciph.c:1294: + + +that didn't go anywhere on a search. + +goal: disable openssl cipher (i.e. just one) + +lots of dead ends +https://stackoverflow.com/questions/29162982/how-do-i-disable-a-particular-cipher-suite-in-openssl +only for c code +https://serverfault.com/questions/951775/disable-weak-cipher-ubuntu-16 +is only for apache and ssh (poor subject title - misleading). + +https://serverfault.com/questions/918082/openssl-disable-tlsv1-and-certain-insecure-ciphers-system-wide +here they recommend application specific files. +no rule tht says there cant be a global. smwisicdt +bullshit. + +man msmtp + - An SMTP client +has tls priorities. + +that should work. considered solved. + diff --git a/2020/Nextcloud/docs/1.aux b/2020/Nextcloud/docs/1.aux new file mode 100644 index 0000000..8fd15a0 --- /dev/null +++ b/2020/Nextcloud/docs/1.aux @@ -0,0 +1,3 @@ +\relax +\@writefile{toc}{\contentsline {section}{\numberline {1}Overview}{1}} +\@writefile{toc}{\contentsline {section}{\numberline {2}Work Log}{1}} diff --git a/2020/Nextcloud/docs/1.log b/2020/Nextcloud/docs/1.log new file mode 100644 index 0000000..3bf479e --- /dev/null +++ b/2020/Nextcloud/docs/1.log @@ -0,0 +1,178 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 31 JAN 2020 01:34 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2020/Nextcloud +/docs/1.tex + +(/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2020/Nextcloud/ +docs/1.tex +LaTeX2e <2017/01/01> patch level 3 +Babel <3.9r> and hyphenation patterns for 3 language(s) loaded. +(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls +Document Class: article 2014/09/29 v1.4h Standard LaTeX document class +(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo +File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2014/10/28 v1.0g Enhanced LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks14 +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2016/10/09 v1.0u Standard LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: pdftex.def on input line 99. + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2017/01/12 v0.06k Graphics/color for pdfTeX + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty +Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty +Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) +) +\Gread@gobject=\count87 +)) +\Gin@req@height=\dimen103 +\Gin@req@width=\dimen104 +) +(/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty +Package: caption 2016/02/21 v3.3-144 Customizing captions (AR) + +(/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty +Package: caption3 2016/05/22 v1.7-166 caption3 kernel (AR) +Package caption3 Info: TeX engine: e-TeX on input line 67. +\captionmargin=\dimen105 +\captionmargin@=\dimen106 +\captionwidth=\dimen107 +\caption@tempdima=\dimen108 +\caption@indent=\dimen109 +\caption@parindent=\dimen110 +\caption@hangindent=\dimen111 +) +\c@ContinuedFloat=\count88 +) (./1.aux) +\openout1 = `1.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. + +(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count89 +\scratchdimen=\dimen112 +\scratchbox=\box26 +\nofMPsegments=\count90 +\nofMParguments=\count91 +\everyMPshowfont=\toks15 +\MPscratchCnt=\count92 +\MPscratchDim=\dimen113 +\MPnumerator=\count93 +\makeMPintoPDFobject=\count94 +\everyMPtoPDFconversion=\toks16 +) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty +Package: pdftexcmds 2016/05/21 v0.22 Utility functions of pdfTeX for LuaTeX (HO +) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty +Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) +Package ifluatex Info: LuaTeX not detected. +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2016/05/14 v3.1 Provides the ifpdf switch +) +Package pdftexcmds Info: LuaTeX not detected. +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode found. +) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty +Package: epstopdf-base 2016/05/15 v2.6 Base part for package epstopdf + +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty +Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty +Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO) +)) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty +Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty +Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty +Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) +Package etexcmds Info: Could not find \expanded. +(etexcmds) That can mean that you are not using pdfTeX 1.50 or +(etexcmds) that some package has redefined \expanded. +(etexcmds) In the latter case, load this package earlier. +))) +Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 +38. +Package grfext Info: Graphics extension search list: +(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE +G,.JBIG2,.JB2,.eps] +(grfext) \AppendGraphicsExtensions on input line 456. + +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv +e +)) +Package caption Info: Begin \AtBeginDocument code. +Package caption Info: End \AtBeginDocument code. + +[1 + +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] (./1.aux) ) +Here is how much of TeX's memory you used: + 2537 strings out of 494945 + 40571 string characters out of 6181032 + 94811 words of memory out of 5000000 + 5843 multiletter control sequences out of 15000+600000 + 4853 words of font info for 18 fonts, out of 8000000 for 9000 + 14 hyphenation exceptions out of 8191 + 39i,4n,38p,320b,107s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on 1.pdf (1 page, 41814 bytes). +PDF statistics: + 20 PDF objects out of 1000 (max. 8388607) + 13 compressed objects within 1 object stream + 0 named destinations out of 1000 (max. 500000) + 1 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/2020/Nextcloud/docs/1.pdf b/2020/Nextcloud/docs/1.pdf new file mode 100644 index 0000000..bee97b5 Binary files /dev/null and b/2020/Nextcloud/docs/1.pdf differ diff --git a/2020/Nextcloud/docs/1.tex b/2020/Nextcloud/docs/1.tex new file mode 100644 index 0000000..d994e5e --- /dev/null +++ b/2020/Nextcloud/docs/1.tex @@ -0,0 +1,34 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\title{\textbf{}} +\usepackage{graphicx} +\usepackage{caption } +\author{Steak Electronics} +\date{06/4/19} +\begin{document} + +%\maketitle +\textbf{Nextcloud Research} + +\vspace{0.2in} + +%\textbf{Todo} +\section{Overview} +I need something to sync contacts for clients. Nextcloud has that option. Let's try it out. + +\section{Work Log} +I had trouble finding a nextcloud that was managed for under \$25 month. I did find one, finally (open it store). + +They installed everything. I didn't use my own domain name, but no big deal. + +I downloaded nextcloud for my 4.5 android, and it works. Now to try contact sync. + +Once you open the nextcloud app, there is a way to sync contacts. Requires davx5. So I got that. It brought me to the login page, and I tried logging in, but it failed. It may have been a bad password. I tried again using the URL +https://my.domain.com/remote.php/dav/ +replacing my.domain with my URL, and it worked. I think the first time, I just had the password wrong. + +After that, davx5 loads up. There is a carddav option. It takes 2-3 minutes to load (you'll see a spinning animation). After that, you can click a checkbox for contacts, then click the 'sync' button. + + + +\end{document} diff --git a/2020/Nextcloud/docs/1.tex~ b/2020/Nextcloud/docs/1.tex~ new file mode 100644 index 0000000..0cb85dc --- /dev/null +++ b/2020/Nextcloud/docs/1.tex~ @@ -0,0 +1,33 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\title{\textbf{}} +\usepackage{graphicx} +\usepackage{caption } +\author{Steak Electronics} +\date{06/4/19} +\begin{document} + +%\maketitle +\textbf{Ebay Office Licenses} + +\vspace{0.2in} + +%\textbf{Todo} +\section{Overview} +I needed to upgrade some computers, and this is what I found with office. Ebay has many cheap licenses, but there are all kinds of catches, and a few different licenses being sold. + +\section{Retail} +If you go to a retail store, 1st, you have to get office with Outlook. Everyone uses outlook. I don't know why. Thunderbird is fine. But people are dumb. Outlook is the easiest thing to wean people off of, as there's no requirement to use it. + +If you go to retail, the edition with outlook (in 2020, Home and Business, is what its called) is \$230. They give you a keycard. Literally, printing money is what they do. It's for one copy. + +If you get a CD/DVD, you used to be able to use it for 2 installs. Officially it was 1, but you could do 2 before it stopped you. + +I won't get into the subscription version, but subscription is about \$100 a year, for 5 devices under one person*\footnote{This is subject to change, as people are just using it for 5 different people's computers. Just wait, they will clamp down. It's actually a competitive deal now, but it's a trap. Not to mention, it's a recurring fee. BAD.} + + +\section{Breakdown} + + + +\end{document} diff --git a/2020/Nextcloud/docs/2.aux b/2020/Nextcloud/docs/2.aux new file mode 100644 index 0000000..8fd15a0 --- /dev/null +++ b/2020/Nextcloud/docs/2.aux @@ -0,0 +1,3 @@ +\relax +\@writefile{toc}{\contentsline {section}{\numberline {1}Overview}{1}} +\@writefile{toc}{\contentsline {section}{\numberline {2}Work Log}{1}} diff --git a/2020/Nextcloud/docs/2.log b/2020/Nextcloud/docs/2.log new file mode 100644 index 0000000..7c70b64 --- /dev/null +++ b/2020/Nextcloud/docs/2.log @@ -0,0 +1,178 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 31 JAN 2020 01:56 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2020/Nextcloud +/docs/2.tex + +(/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2020/Nextcloud/ +docs/2.tex +LaTeX2e <2017/01/01> patch level 3 +Babel <3.9r> and hyphenation patterns for 3 language(s) loaded. +(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls +Document Class: article 2014/09/29 v1.4h Standard LaTeX document class +(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo +File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2014/10/28 v1.0g Enhanced LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks14 +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2016/10/09 v1.0u Standard LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: pdftex.def on input line 99. + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2017/01/12 v0.06k Graphics/color for pdfTeX + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty +Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty +Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) +) +\Gread@gobject=\count87 +)) +\Gin@req@height=\dimen103 +\Gin@req@width=\dimen104 +) +(/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty +Package: caption 2016/02/21 v3.3-144 Customizing captions (AR) + +(/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty +Package: caption3 2016/05/22 v1.7-166 caption3 kernel (AR) +Package caption3 Info: TeX engine: e-TeX on input line 67. +\captionmargin=\dimen105 +\captionmargin@=\dimen106 +\captionwidth=\dimen107 +\caption@tempdima=\dimen108 +\caption@indent=\dimen109 +\caption@parindent=\dimen110 +\caption@hangindent=\dimen111 +) +\c@ContinuedFloat=\count88 +) (./2.aux) +\openout1 = `2.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. + +(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count89 +\scratchdimen=\dimen112 +\scratchbox=\box26 +\nofMPsegments=\count90 +\nofMParguments=\count91 +\everyMPshowfont=\toks15 +\MPscratchCnt=\count92 +\MPscratchDim=\dimen113 +\MPnumerator=\count93 +\makeMPintoPDFobject=\count94 +\everyMPtoPDFconversion=\toks16 +) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty +Package: pdftexcmds 2016/05/21 v0.22 Utility functions of pdfTeX for LuaTeX (HO +) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty +Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) +Package ifluatex Info: LuaTeX not detected. +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2016/05/14 v3.1 Provides the ifpdf switch +) +Package pdftexcmds Info: LuaTeX not detected. +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode found. +) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty +Package: epstopdf-base 2016/05/15 v2.6 Base part for package epstopdf + +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty +Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty +Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO) +)) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty +Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty +Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty +Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) +Package etexcmds Info: Could not find \expanded. +(etexcmds) That can mean that you are not using pdfTeX 1.50 or +(etexcmds) that some package has redefined \expanded. +(etexcmds) In the latter case, load this package earlier. +))) +Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 +38. +Package grfext Info: Graphics extension search list: +(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE +G,.JBIG2,.JB2,.eps] +(grfext) \AppendGraphicsExtensions on input line 456. + +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv +e +)) +Package caption Info: Begin \AtBeginDocument code. +Package caption Info: End \AtBeginDocument code. + +[1 + +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] (./2.aux) ) +Here is how much of TeX's memory you used: + 2537 strings out of 494945 + 40571 string characters out of 6181032 + 94811 words of memory out of 5000000 + 5843 multiletter control sequences out of 15000+600000 + 4853 words of font info for 18 fonts, out of 8000000 for 9000 + 14 hyphenation exceptions out of 8191 + 39i,4n,38p,389b,107s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on 2.pdf (1 page, 42916 bytes). +PDF statistics: + 20 PDF objects out of 1000 (max. 8388607) + 13 compressed objects within 1 object stream + 0 named destinations out of 1000 (max. 500000) + 1 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/2020/Nextcloud/docs/2.pdf b/2020/Nextcloud/docs/2.pdf new file mode 100644 index 0000000..2f7150d Binary files /dev/null and b/2020/Nextcloud/docs/2.pdf differ diff --git a/2020/Nextcloud/docs/2.tex b/2020/Nextcloud/docs/2.tex new file mode 100644 index 0000000..940367b --- /dev/null +++ b/2020/Nextcloud/docs/2.tex @@ -0,0 +1,42 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\title{\textbf{}} +\usepackage{graphicx} +\usepackage{caption } +\author{Steak Electronics} +\date{06/4/19} +\begin{document} + +%\maketitle +\textbf{Nextcloud Research} + +\vspace{0.2in} + +%\textbf{Todo} +\section{Overview} +I need something to sync contacts for clients. Nextcloud has that option. Let's try it out. + +\section{Work Log} +I had trouble finding a nextcloud that was managed for under \$25 month. I did find one, finally (open it store). + +They installed everything. I didn't use my own domain name, but no big deal. + +I downloaded nextcloud for my 4.5 android, and it works. Now to try contact sync. + +Once you open the nextcloud app, there is a way to sync contacts. Requires davx5. So I got that. It brought me to the login page, and I tried logging in, but it failed. It may have been a bad password. I tried again using the URL +https://my.domain.com/remote.php/dav/ +replacing my.domain with my URL, and it worked. I think the first time, I just had the password wrong. + +After that, davx5 loads up. There is a carddav option. It takes 2-3 minutes to load (you'll see a spinning animation). After that, you can click a checkbox for contacts, then click the 'sync' button. Then wait. + +It will pop up a window for sync settings. I set contacts to sync once a day, and only on wifi. Unfortunately, I don't see any contacts in nc. + +What I ended up doing was instead of davdroid, which doesn't seem to work, I did nc's option to 'backup contacts' just below it. This sounds like a manual update, but it does mention that it has an automatic backup option. So I'll have to confirm that it actually automatically backs them up later. + +So I downloaded the vcf from the nc instance, and I have contacts. OK. + + + + + +\end{document} diff --git a/2020/Nextcloud/docs/2.tex~ b/2020/Nextcloud/docs/2.tex~ new file mode 100644 index 0000000..d994e5e --- /dev/null +++ b/2020/Nextcloud/docs/2.tex~ @@ -0,0 +1,34 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\title{\textbf{}} +\usepackage{graphicx} +\usepackage{caption } +\author{Steak Electronics} +\date{06/4/19} +\begin{document} + +%\maketitle +\textbf{Nextcloud Research} + +\vspace{0.2in} + +%\textbf{Todo} +\section{Overview} +I need something to sync contacts for clients. Nextcloud has that option. Let's try it out. + +\section{Work Log} +I had trouble finding a nextcloud that was managed for under \$25 month. I did find one, finally (open it store). + +They installed everything. I didn't use my own domain name, but no big deal. + +I downloaded nextcloud for my 4.5 android, and it works. Now to try contact sync. + +Once you open the nextcloud app, there is a way to sync contacts. Requires davx5. So I got that. It brought me to the login page, and I tried logging in, but it failed. It may have been a bad password. I tried again using the URL +https://my.domain.com/remote.php/dav/ +replacing my.domain with my URL, and it worked. I think the first time, I just had the password wrong. + +After that, davx5 loads up. There is a carddav option. It takes 2-3 minutes to load (you'll see a spinning animation). After that, you can click a checkbox for contacts, then click the 'sync' button. + + + +\end{document} diff --git a/2020/Nextcloud/docs/3.aux b/2020/Nextcloud/docs/3.aux new file mode 100644 index 0000000..8fd15a0 --- /dev/null +++ b/2020/Nextcloud/docs/3.aux @@ -0,0 +1,3 @@ +\relax +\@writefile{toc}{\contentsline {section}{\numberline {1}Overview}{1}} +\@writefile{toc}{\contentsline {section}{\numberline {2}Work Log}{1}} diff --git a/2020/Nextcloud/docs/3.log b/2020/Nextcloud/docs/3.log new file mode 100644 index 0000000..431dc58 --- /dev/null +++ b/2020/Nextcloud/docs/3.log @@ -0,0 +1,178 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 31 JAN 2020 03:10 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2020/Nextcloud +/docs/3.tex + +(/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2020/Nextcloud/ +docs/3.tex +LaTeX2e <2017/01/01> patch level 3 +Babel <3.9r> and hyphenation patterns for 3 language(s) loaded. +(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls +Document Class: article 2014/09/29 v1.4h Standard LaTeX document class +(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo +File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2014/10/28 v1.0g Enhanced LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks14 +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2016/10/09 v1.0u Standard LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: pdftex.def on input line 99. + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2017/01/12 v0.06k Graphics/color for pdfTeX + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty +Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty +Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) +) +\Gread@gobject=\count87 +)) +\Gin@req@height=\dimen103 +\Gin@req@width=\dimen104 +) +(/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty +Package: caption 2016/02/21 v3.3-144 Customizing captions (AR) + +(/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty +Package: caption3 2016/05/22 v1.7-166 caption3 kernel (AR) +Package caption3 Info: TeX engine: e-TeX on input line 67. +\captionmargin=\dimen105 +\captionmargin@=\dimen106 +\captionwidth=\dimen107 +\caption@tempdima=\dimen108 +\caption@indent=\dimen109 +\caption@parindent=\dimen110 +\caption@hangindent=\dimen111 +) +\c@ContinuedFloat=\count88 +) (./3.aux) +\openout1 = `3.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. + +(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count89 +\scratchdimen=\dimen112 +\scratchbox=\box26 +\nofMPsegments=\count90 +\nofMParguments=\count91 +\everyMPshowfont=\toks15 +\MPscratchCnt=\count92 +\MPscratchDim=\dimen113 +\MPnumerator=\count93 +\makeMPintoPDFobject=\count94 +\everyMPtoPDFconversion=\toks16 +) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty +Package: pdftexcmds 2016/05/21 v0.22 Utility functions of pdfTeX for LuaTeX (HO +) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty +Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) +Package ifluatex Info: LuaTeX not detected. +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2016/05/14 v3.1 Provides the ifpdf switch +) +Package pdftexcmds Info: LuaTeX not detected. +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode found. +) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty +Package: epstopdf-base 2016/05/15 v2.6 Base part for package epstopdf + +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty +Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty +Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO) +)) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty +Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty +Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty +Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) +Package etexcmds Info: Could not find \expanded. +(etexcmds) That can mean that you are not using pdfTeX 1.50 or +(etexcmds) that some package has redefined \expanded. +(etexcmds) In the latter case, load this package earlier. +))) +Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 +38. +Package grfext Info: Graphics extension search list: +(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE +G,.JBIG2,.JB2,.eps] +(grfext) \AppendGraphicsExtensions on input line 456. + +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv +e +)) +Package caption Info: Begin \AtBeginDocument code. +Package caption Info: End \AtBeginDocument code. + +[1 + +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] (./3.aux) ) +Here is how much of TeX's memory you used: + 2537 strings out of 494945 + 40571 string characters out of 6181032 + 95811 words of memory out of 5000000 + 5843 multiletter control sequences out of 15000+600000 + 4853 words of font info for 18 fonts, out of 8000000 for 9000 + 14 hyphenation exceptions out of 8191 + 39i,4n,38p,389b,107s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on 3.pdf (1 page, 43175 bytes). +PDF statistics: + 20 PDF objects out of 1000 (max. 8388607) + 13 compressed objects within 1 object stream + 0 named destinations out of 1000 (max. 500000) + 1 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/2020/Nextcloud/docs/3.pdf b/2020/Nextcloud/docs/3.pdf new file mode 100644 index 0000000..134d05f Binary files /dev/null and b/2020/Nextcloud/docs/3.pdf differ diff --git a/2020/Nextcloud/docs/3.tex b/2020/Nextcloud/docs/3.tex new file mode 100644 index 0000000..b8818dc --- /dev/null +++ b/2020/Nextcloud/docs/3.tex @@ -0,0 +1,44 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\title{\textbf{}} +\usepackage{graphicx} +\usepackage{caption } +\author{Steak Electronics} +\date{06/4/19} +\begin{document} + +%\maketitle +\textbf{Nextcloud Research} + +\vspace{0.2in} + +%\textbf{Todo} +\section{Overview} +I need something to sync contacts for clients. Nextcloud has that option. Let's try it out. + +\section{Work Log} +I had trouble finding a nextcloud that was managed for under \$25 month. I did find one, finally (open it store). + +They installed everything. I didn't use my own domain name, but no big deal. + +I downloaded nextcloud for my 4.5 android, and it works. Now to try contact sync. + +Once you open the nextcloud app, there is a way to sync contacts. Requires davx5. So I got that. It brought me to the login page, and I tried logging in, but it failed. It may have been a bad password. I tried again using the URL +https://my.domain.com/remote.php/dav/ +replacing my.domain with my URL, and it worked. I think the first time, I just had the password wrong. + +After that, davx5 loads up. There is a carddav option. It takes 2-3 minutes to load (you'll see a spinning animation). After that, you can click a checkbox for contacts, then click the 'sync' button. Then wait. + +It will pop up a window for sync settings. I set contacts to sync once a day, and only on wifi. Unfortunately, I don't see any contacts in nc. + +What I ended up doing was instead of davdroid, which doesn't seem to work, I did nc's option to 'backup contacts' just below it. This sounds like a manual update, but it does mention that it has an automatic backup option. So I'll have to confirm that it actually automatically backs them up later. + +So I downloaded the vcf from the nc instance, and I have contacts. OK. + +They don't show up as pretty as possible, but it works. The vcf file is ascii text and readable. I can see everything in there. + +This vendor of nc, doesn't seem to have options for other apps than the default, but that might be ok. I really need file sharing, and contact backup. The rest is bonus, but not required. + + + +\end{document} diff --git a/2020/Nextcloud/docs/3.tex~ b/2020/Nextcloud/docs/3.tex~ new file mode 100644 index 0000000..940367b --- /dev/null +++ b/2020/Nextcloud/docs/3.tex~ @@ -0,0 +1,42 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\title{\textbf{}} +\usepackage{graphicx} +\usepackage{caption } +\author{Steak Electronics} +\date{06/4/19} +\begin{document} + +%\maketitle +\textbf{Nextcloud Research} + +\vspace{0.2in} + +%\textbf{Todo} +\section{Overview} +I need something to sync contacts for clients. Nextcloud has that option. Let's try it out. + +\section{Work Log} +I had trouble finding a nextcloud that was managed for under \$25 month. I did find one, finally (open it store). + +They installed everything. I didn't use my own domain name, but no big deal. + +I downloaded nextcloud for my 4.5 android, and it works. Now to try contact sync. + +Once you open the nextcloud app, there is a way to sync contacts. Requires davx5. So I got that. It brought me to the login page, and I tried logging in, but it failed. It may have been a bad password. I tried again using the URL +https://my.domain.com/remote.php/dav/ +replacing my.domain with my URL, and it worked. I think the first time, I just had the password wrong. + +After that, davx5 loads up. There is a carddav option. It takes 2-3 minutes to load (you'll see a spinning animation). After that, you can click a checkbox for contacts, then click the 'sync' button. Then wait. + +It will pop up a window for sync settings. I set contacts to sync once a day, and only on wifi. Unfortunately, I don't see any contacts in nc. + +What I ended up doing was instead of davdroid, which doesn't seem to work, I did nc's option to 'backup contacts' just below it. This sounds like a manual update, but it does mention that it has an automatic backup option. So I'll have to confirm that it actually automatically backs them up later. + +So I downloaded the vcf from the nc instance, and I have contacts. OK. + + + + + +\end{document} diff --git a/2020/Windows_Office_Ebay_Licenses/docs/1.aux b/2020/Windows_Office_Ebay_Licenses/docs/1.aux new file mode 100644 index 0000000..5c0abf3 --- /dev/null +++ b/2020/Windows_Office_Ebay_Licenses/docs/1.aux @@ -0,0 +1,4 @@ +\relax +\@writefile{toc}{\contentsline {section}{\numberline {1}Overview}{1}} +\@writefile{toc}{\contentsline {section}{\numberline {2}Retail}{1}} +\@writefile{toc}{\contentsline {section}{\numberline {3}Breakdown}{1}} diff --git a/2020/Windows_Office_Ebay_Licenses/docs/1.log b/2020/Windows_Office_Ebay_Licenses/docs/1.log new file mode 100644 index 0000000..6403c6b --- /dev/null +++ b/2020/Windows_Office_Ebay_Licenses/docs/1.log @@ -0,0 +1,191 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 26 JAN 2020 17:20 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2020/Windows_O +ffice_Ebay_Licenses/docs/1.tex + +(/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2020/Windows_Of +fice_Ebay_Licenses/docs/1.tex +LaTeX2e <2017/01/01> patch level 3 +Babel <3.9r> and hyphenation patterns for 3 language(s) loaded. +(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls +Document Class: article 2014/09/29 v1.4h Standard LaTeX document class +(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo +File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2014/10/28 v1.0g Enhanced LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks14 +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2016/10/09 v1.0u Standard LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: pdftex.def on input line 99. + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2017/01/12 v0.06k Graphics/color for pdfTeX + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty +Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty +Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) +) +\Gread@gobject=\count87 +)) +\Gin@req@height=\dimen103 +\Gin@req@width=\dimen104 +) +(/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty +Package: caption 2016/02/21 v3.3-144 Customizing captions (AR) + +(/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty +Package: caption3 2016/05/22 v1.7-166 caption3 kernel (AR) +Package caption3 Info: TeX engine: e-TeX on input line 67. +\captionmargin=\dimen105 +\captionmargin@=\dimen106 +\captionwidth=\dimen107 +\caption@tempdima=\dimen108 +\caption@indent=\dimen109 +\caption@parindent=\dimen110 +\caption@hangindent=\dimen111 +) +\c@ContinuedFloat=\count88 +) (./1.aux) +\openout1 = `1.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. + +(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count89 +\scratchdimen=\dimen112 +\scratchbox=\box26 +\nofMPsegments=\count90 +\nofMParguments=\count91 +\everyMPshowfont=\toks15 +\MPscratchCnt=\count92 +\MPscratchDim=\dimen113 +\MPnumerator=\count93 +\makeMPintoPDFobject=\count94 +\everyMPtoPDFconversion=\toks16 +) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty +Package: pdftexcmds 2016/05/21 v0.22 Utility functions of pdfTeX for LuaTeX (HO +) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty +Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) +Package ifluatex Info: LuaTeX not detected. +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2016/05/14 v3.1 Provides the ifpdf switch +) +Package pdftexcmds Info: LuaTeX not detected. +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode found. +) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty +Package: epstopdf-base 2016/05/15 v2.6 Base part for package epstopdf + +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty +Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty +Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO) +)) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty +Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty +Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty +Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) +Package etexcmds Info: Could not find \expanded. +(etexcmds) That can mean that you are not using pdfTeX 1.50 or +(etexcmds) that some package has redefined \expanded. +(etexcmds) In the latter case, load this package earlier. +))) +Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 +38. +Package grfext Info: Graphics extension search list: +(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE +G,.JBIG2,.JB2,.eps] +(grfext) \AppendGraphicsExtensions on input line 456. + +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv +e +)) +Package caption Info: Begin \AtBeginDocument code. +Package caption Info: End \AtBeginDocument code. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <10.95> on input line 26. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 26. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 26. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <9> on input line 26. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <5> on input line 26. + +[1 + +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] (./1.aux) ) +Here is how much of TeX's memory you used: + 2562 strings out of 494945 + 40903 string characters out of 6181032 + 94811 words of memory out of 5000000 + 5859 multiletter control sequences out of 15000+600000 + 8204 words of font info for 29 fonts, out of 8000000 for 9000 + 14 hyphenation exceptions out of 8191 + 39i,8n,38p,475b,145s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on 1.pdf (1 page, 72105 bytes). +PDF statistics: + 32 PDF objects out of 1000 (max. 8388607) + 22 compressed objects within 1 object stream + 0 named destinations out of 1000 (max. 500000) + 1 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/2020/Windows_Office_Ebay_Licenses/docs/1.pdf b/2020/Windows_Office_Ebay_Licenses/docs/1.pdf new file mode 100644 index 0000000..cd7d8f4 Binary files /dev/null and b/2020/Windows_Office_Ebay_Licenses/docs/1.pdf differ diff --git a/2020/Windows_Office_Ebay_Licenses/docs/1.tex b/2020/Windows_Office_Ebay_Licenses/docs/1.tex new file mode 100644 index 0000000..0cb85dc --- /dev/null +++ b/2020/Windows_Office_Ebay_Licenses/docs/1.tex @@ -0,0 +1,33 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\title{\textbf{}} +\usepackage{graphicx} +\usepackage{caption } +\author{Steak Electronics} +\date{06/4/19} +\begin{document} + +%\maketitle +\textbf{Ebay Office Licenses} + +\vspace{0.2in} + +%\textbf{Todo} +\section{Overview} +I needed to upgrade some computers, and this is what I found with office. Ebay has many cheap licenses, but there are all kinds of catches, and a few different licenses being sold. + +\section{Retail} +If you go to a retail store, 1st, you have to get office with Outlook. Everyone uses outlook. I don't know why. Thunderbird is fine. But people are dumb. Outlook is the easiest thing to wean people off of, as there's no requirement to use it. + +If you go to retail, the edition with outlook (in 2020, Home and Business, is what its called) is \$230. They give you a keycard. Literally, printing money is what they do. It's for one copy. + +If you get a CD/DVD, you used to be able to use it for 2 installs. Officially it was 1, but you could do 2 before it stopped you. + +I won't get into the subscription version, but subscription is about \$100 a year, for 5 devices under one person*\footnote{This is subject to change, as people are just using it for 5 different people's computers. Just wait, they will clamp down. It's actually a competitive deal now, but it's a trap. Not to mention, it's a recurring fee. BAD.} + + +\section{Breakdown} + + + +\end{document} diff --git a/2020/Windows_Office_Ebay_Licenses/docs/1.tex~ b/2020/Windows_Office_Ebay_Licenses/docs/1.tex~ new file mode 100644 index 0000000..4dee84a --- /dev/null +++ b/2020/Windows_Office_Ebay_Licenses/docs/1.tex~ @@ -0,0 +1,110 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\title{\textbf{AutoSSH - a Reverse Proxy Alternative}} +\usepackage{graphicx} +\usepackage{caption } +\author{Steak Electronics} +\date{06/4/19} +\begin{document} + +%\maketitle +\textbf{AutoSSH - a Reverse Proxy Alternative} + +\vspace{0.2in} +This document is best read printed out on paper. +%\textbf{Todo} +\section{Overview} +I recently added another apache server to an existing infrastructure, and I wanted it to be accessible under a similar IP as another server. Due to the complexity of the website, it was not possible to simply do a reverse proxy without knowing the correct settings (e.g. X-Forwarded for). Instead, AutoSSH was used. + +\section{Work Log} +Ok, I'm going to get right to the configs that I used. You want the tool, you don't need to know all the details. + +\subsection{Crontab} +Here is the crontab script I used. I put this in /etc/crontab, so it has root after the times. I only use /etc/crontab, as it's easier to manage. +\begin{verbatim} +* * * * * root pgrep autossh > /dev/null || \ + /usr/local/bin/autosshzm/autosshzm.sh +\end{verbatim} +A few notes about this. Pgrep will search for autossh. If it doesn't find it, then it will try the next command. (|| is an OR). Put the bash script wherever you want. + +\subsection{Bash Script} + +This script is obviously what the crontab calls. +\begin{verbatim} +#!/bin/bash +logger " /usr/local/bin/autosshzm script started." +#source $HOME/.bash_profile #not needed. +source $HOME/.keychain/$HOSTNAME-sh +logger " /usr/local/bin/autosshzm sourced." + +autossh -L 0.0.0.0:2:localhost:80 -f user@ipaddress sleep 31536000 + &> /var/log/autosshzm/autosshzm.log +#autossh -M 0 -o "ServerAliveInterval 30" -o "ServerAliveCountMax 3" + -L 0.0.0.0:2:localhost:80 user@ipaddress &> + /var/log/autosshzm/autosshzm.log +logger "auto ssh ran" +\end{verbatim} +Note that the second autossh does not work, as it's missing the sleep and the -f command. \footnote{Figuring this kind of stuff out can take about an hour.} In order for this to work, you'll also need the following commands: + +\begin{verbatim} +apt-get install keychain autossh +\end{verbatim} +There were some more setup steps required for keychain... +From stackexchange: +\begin{verbatim} +25 +keychain +solves this in a painless way. It's in the repos for Debian/Ubuntu: + +sudo apt-get install keychain + +and perhaps for many other distros (it looks like it originated +from Gentoo). + +This program will start an ssh-agent if none is running, and + provide shell scripts that can be sourced and connect the current + shell to this particular ssh-agent. + +For bash, with a private key named id_rsa, add the following to + your .profile: + +keychain --nogui id_rsa + +This will start an ssh-agent and add the id_rsa key on the first + login after reboot. If the key is passphrase-protected, it will + also ask for the passphrase. No need to use unprotected keys + anymore! For subsequent logins, it will recognize the agent + and not ask for a passphrase again. + +Also, add the following as a last line of your .bashrc: + +. ~/.keychain/$HOSTNAME-sh + +This will let the shell know where to reach the SSH agent managed + by keychain. Make sure that .bashrc is sourced from .profile. + +However, it seems that cron jobs still don't see this. As a + remedy, include the line above in the crontab, just before + your actual command: + +* * * * * . ~/.keychain/$HOSTNAME-sh; your-actual-command + + +\end{verbatim} +The only thing that I needed to do here was + +keychain --nogui id\_rsa + +The rest of it (notes about crontab) was not required. + +\section{What Did NOT Work} +Here's some things I tried that did not work. +\begin{itemize} +\item https://github.com/obfusk/autossh-init - This init script, didn't do much for me. Remember, I'm stuck with systemd in Ubuntu 19.04...\footnote{The scourge of deleting software history. Keep backwards compatibility at ALL COSTS, developers.} +\item Reverse proxy with Apache - As I said, my website \footnote{Some people might call it a web application. I will not.} was too complex, and I didn't want to go down that rabbit hole. +\item Starting AutoSSH in rc.local. Didn't work. + +\end{itemize} + + +\end{document} diff --git a/2020/Windows_Office_Ebay_Licenses/docs/2.aux b/2020/Windows_Office_Ebay_Licenses/docs/2.aux new file mode 100644 index 0000000..ed00f39 --- /dev/null +++ b/2020/Windows_Office_Ebay_Licenses/docs/2.aux @@ -0,0 +1,10 @@ +\relax +\@writefile{toc}{\contentsline {section}{\numberline {1}Overview}{1}} +\@writefile{toc}{\contentsline {section}{\numberline {2}Retail}{1}} +\@writefile{toc}{\contentsline {section}{\numberline {3}Breakdown of Ebay}{1}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}DVD and Product Key}{2}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Download and Key}{2}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Key only with office.com acct}{2}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}Where to find Downloads?}{2}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.4.1}Return Policy}{2}} +\@writefile{toc}{\contentsline {section}{\numberline {4}Conclusion}{3}} diff --git a/2020/Windows_Office_Ebay_Licenses/docs/2.log b/2020/Windows_Office_Ebay_Licenses/docs/2.log new file mode 100644 index 0000000..53af409 --- /dev/null +++ b/2020/Windows_Office_Ebay_Licenses/docs/2.log @@ -0,0 +1,191 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 26 JAN 2020 17:34 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2020/Windows_O +ffice_Ebay_Licenses/docs/2.tex + +(/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2020/Windows_Of +fice_Ebay_Licenses/docs/2.tex +LaTeX2e <2017/01/01> patch level 3 +Babel <3.9r> and hyphenation patterns for 3 language(s) loaded. +(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls +Document Class: article 2014/09/29 v1.4h Standard LaTeX document class +(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo +File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2014/10/28 v1.0g Enhanced LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks14 +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2016/10/09 v1.0u Standard LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: pdftex.def on input line 99. + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2017/01/12 v0.06k Graphics/color for pdfTeX + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty +Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty +Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) +) +\Gread@gobject=\count87 +)) +\Gin@req@height=\dimen103 +\Gin@req@width=\dimen104 +) +(/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty +Package: caption 2016/02/21 v3.3-144 Customizing captions (AR) + +(/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty +Package: caption3 2016/05/22 v1.7-166 caption3 kernel (AR) +Package caption3 Info: TeX engine: e-TeX on input line 67. +\captionmargin=\dimen105 +\captionmargin@=\dimen106 +\captionwidth=\dimen107 +\caption@tempdima=\dimen108 +\caption@indent=\dimen109 +\caption@parindent=\dimen110 +\caption@hangindent=\dimen111 +) +\c@ContinuedFloat=\count88 +) (./2.aux) +\openout1 = `2.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. + +(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count89 +\scratchdimen=\dimen112 +\scratchbox=\box26 +\nofMPsegments=\count90 +\nofMParguments=\count91 +\everyMPshowfont=\toks15 +\MPscratchCnt=\count92 +\MPscratchDim=\dimen113 +\MPnumerator=\count93 +\makeMPintoPDFobject=\count94 +\everyMPtoPDFconversion=\toks16 +) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty +Package: pdftexcmds 2016/05/21 v0.22 Utility functions of pdfTeX for LuaTeX (HO +) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty +Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) +Package ifluatex Info: LuaTeX not detected. +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2016/05/14 v3.1 Provides the ifpdf switch +) +Package pdftexcmds Info: LuaTeX not detected. +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode found. +) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty +Package: epstopdf-base 2016/05/15 v2.6 Base part for package epstopdf + +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty +Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty +Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO) +)) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty +Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty +Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty +Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) +Package etexcmds Info: Could not find \expanded. +(etexcmds) That can mean that you are not using pdfTeX 1.50 or +(etexcmds) that some package has redefined \expanded. +(etexcmds) In the latter case, load this package earlier. +))) +Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 +38. +Package grfext Info: Graphics extension search list: +(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE +G,.JBIG2,.JB2,.eps] +(grfext) \AppendGraphicsExtensions on input line 456. + +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv +e +)) +Package caption Info: Begin \AtBeginDocument code. +Package caption Info: End \AtBeginDocument code. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <10.95> on input line 26. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 26. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 26. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <9> on input line 26. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <5> on input line 26. + +[1 + +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] [2] [3] (./2.aux) ) +Here is how much of TeX's memory you used: + 2564 strings out of 494945 + 40932 string characters out of 6181032 + 95811 words of memory out of 5000000 + 5861 multiletter control sequences out of 15000+600000 + 8809 words of font info for 31 fonts, out of 8000000 for 9000 + 14 hyphenation exceptions out of 8191 + 39i,8n,38p,616b,145s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on 2.pdf (3 pages, 83378 bytes). +PDF statistics: + 38 PDF objects out of 1000 (max. 8388607) + 26 compressed objects within 1 object stream + 0 named destinations out of 1000 (max. 500000) + 1 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/2020/Windows_Office_Ebay_Licenses/docs/2.pdf b/2020/Windows_Office_Ebay_Licenses/docs/2.pdf new file mode 100644 index 0000000..1f55ff5 Binary files /dev/null and b/2020/Windows_Office_Ebay_Licenses/docs/2.pdf differ diff --git a/2020/Windows_Office_Ebay_Licenses/docs/2.tex b/2020/Windows_Office_Ebay_Licenses/docs/2.tex new file mode 100644 index 0000000..55dd25f --- /dev/null +++ b/2020/Windows_Office_Ebay_Licenses/docs/2.tex @@ -0,0 +1,57 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\title{\textbf{}} +\usepackage{graphicx} +\usepackage{caption } +\author{Steak Electronics} +\date{06/4/19} +\begin{document} + +%\maketitle +\textbf{Ebay Office Licenses} + +\vspace{0.2in} + +%\textbf{Todo} +\section{Overview} +I needed to upgrade some computers, and this is what I found with office. Ebay has many cheap licenses, but there are all kinds of catches, and a few different licenses being sold, not to mention different editions... + +\section{Retail} +If you go to a retail store, 1st, you have to get office with Outlook. Everyone uses outlook. I don't know why. Thunderbird is fine. But people are dumb. Outlook is the easiest thing to wean people off of, as there's no requirement to use it. + +If you go to retail, the edition with outlook (in 2020, Home and Business, is what its called) is \$230. They give you a keycard. Literally, printing money is what they do. It's for one copy. + +If you get a CD/DVD, you used to be able to use it for 2 installs. Officially it was 1, but you could do 2 before it stopped you. + +I won't get into the subscription version, but subscription is about \$100 a year, for 5 devices under one person*\footnote{This is subject to change, as people are just using it for 5 different people's computers. Just wait, they will clamp down. It's actually a competitive deal now, but it's a trap. Not to mention, it's a recurring fee. BAD.} + +So you can go to retail and get fucked (excuse my french). Don't do that. You can do better online. + +\section{Breakdown of Ebay} +So we go to ebay to buy licenses. However, there are traps here as well. First off, buy from vetted sellers. Some accounts are made up very recently (I found one made yesterday) with seemingly unreal prices (\$5.00 for a license) and that is probably just a scam. + +However, keep in mind that you don't necessarily have to pay a lot for a license. Here's the types of office available. +\subsection{DVD and Product Key} +This is a good one, as you can probably get two installs off of it. However these are more expensive. Also, the DVDs or keys may just be counterfeit from China anyways. They are all over counterfeiting these, no doubt. The money is there. So this is an option, but maybe not the best. + +\subsection{Download and Key} +This gets complex. There are downloads with official ms links, and some with unofficial links. There are keys that require phone activation, and some that don't. Don't get one that req's phone activation. + +Try to get one with an official MS link. I bought one with an unofficial link (mistake) so I checked the iso download with virustotal. It checked out clean. That's the best I could do. I tried to install the official ISO image for the same edition but here's another trap. I had the iso for normal office, and the key I had was only valid for the Volume License ISO. That is a TRAP, and evil. So I was forced to download the other ISO. Licensing is how this company prints free money, so it's very complex. + +\subsection{Key only with office.com acct} +There are also some options that offer only a key. Then you can sign into office.com and assign the key to an email address. These are great. Get these if you can, as you can download the ISO later on, and also deactivate, and activate it on your computer as needed. There is a danger they will someday just 'not support' old Office, and that would be evil, but for now, you get an official license that is guaranteed to be valid. It's active on the website. They can't assign it to someone else. + +\subsection{Where to find Downloads?} +Let's say you get a key, and they offer a download. You can search online, and there are often official ISOs available from official urls on the internet. Although by the time you read this, this fact may have changed. + +\subsubsection{Return Policy} +Oh, and make sure the seller allows returns. Some do not. + +\section{Conclusion} +Use libreoffice whenever possible. If you can't, go to ebay and buy licenses there. It will take some time, so grab some popcorn, and watch your spite rise. + + + + +\end{document} diff --git a/2020/Windows_Office_Ebay_Licenses/docs/2.tex~ b/2020/Windows_Office_Ebay_Licenses/docs/2.tex~ new file mode 100644 index 0000000..0cb85dc --- /dev/null +++ b/2020/Windows_Office_Ebay_Licenses/docs/2.tex~ @@ -0,0 +1,33 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\title{\textbf{}} +\usepackage{graphicx} +\usepackage{caption } +\author{Steak Electronics} +\date{06/4/19} +\begin{document} + +%\maketitle +\textbf{Ebay Office Licenses} + +\vspace{0.2in} + +%\textbf{Todo} +\section{Overview} +I needed to upgrade some computers, and this is what I found with office. Ebay has many cheap licenses, but there are all kinds of catches, and a few different licenses being sold. + +\section{Retail} +If you go to a retail store, 1st, you have to get office with Outlook. Everyone uses outlook. I don't know why. Thunderbird is fine. But people are dumb. Outlook is the easiest thing to wean people off of, as there's no requirement to use it. + +If you go to retail, the edition with outlook (in 2020, Home and Business, is what its called) is \$230. They give you a keycard. Literally, printing money is what they do. It's for one copy. + +If you get a CD/DVD, you used to be able to use it for 2 installs. Officially it was 1, but you could do 2 before it stopped you. + +I won't get into the subscription version, but subscription is about \$100 a year, for 5 devices under one person*\footnote{This is subject to change, as people are just using it for 5 different people's computers. Just wait, they will clamp down. It's actually a competitive deal now, but it's a trap. Not to mention, it's a recurring fee. BAD.} + + +\section{Breakdown} + + + +\end{document} diff --git a/2020/Windows_Office_Ebay_Licenses/docs/3.aux b/2020/Windows_Office_Ebay_Licenses/docs/3.aux new file mode 100644 index 0000000..ed00f39 --- /dev/null +++ b/2020/Windows_Office_Ebay_Licenses/docs/3.aux @@ -0,0 +1,10 @@ +\relax +\@writefile{toc}{\contentsline {section}{\numberline {1}Overview}{1}} +\@writefile{toc}{\contentsline {section}{\numberline {2}Retail}{1}} +\@writefile{toc}{\contentsline {section}{\numberline {3}Breakdown of Ebay}{1}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}DVD and Product Key}{2}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Download and Key}{2}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Key only with office.com acct}{2}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}Where to find Downloads?}{2}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.4.1}Return Policy}{2}} +\@writefile{toc}{\contentsline {section}{\numberline {4}Conclusion}{3}} diff --git a/2020/Windows_Office_Ebay_Licenses/docs/3.log b/2020/Windows_Office_Ebay_Licenses/docs/3.log new file mode 100644 index 0000000..58a7f21 --- /dev/null +++ b/2020/Windows_Office_Ebay_Licenses/docs/3.log @@ -0,0 +1,191 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 26 JAN 2020 18:49 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2020/Windows_O +ffice_Ebay_Licenses/docs/3.tex + +(/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2020/Windows_Of +fice_Ebay_Licenses/docs/3.tex +LaTeX2e <2017/01/01> patch level 3 +Babel <3.9r> and hyphenation patterns for 3 language(s) loaded. +(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls +Document Class: article 2014/09/29 v1.4h Standard LaTeX document class +(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo +File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2014/10/28 v1.0g Enhanced LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks14 +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2016/10/09 v1.0u Standard LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: pdftex.def on input line 99. + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2017/01/12 v0.06k Graphics/color for pdfTeX + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty +Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty +Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) +) +\Gread@gobject=\count87 +)) +\Gin@req@height=\dimen103 +\Gin@req@width=\dimen104 +) +(/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty +Package: caption 2016/02/21 v3.3-144 Customizing captions (AR) + +(/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty +Package: caption3 2016/05/22 v1.7-166 caption3 kernel (AR) +Package caption3 Info: TeX engine: e-TeX on input line 67. +\captionmargin=\dimen105 +\captionmargin@=\dimen106 +\captionwidth=\dimen107 +\caption@tempdima=\dimen108 +\caption@indent=\dimen109 +\caption@parindent=\dimen110 +\caption@hangindent=\dimen111 +) +\c@ContinuedFloat=\count88 +) (./3.aux) +\openout1 = `3.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. + +(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count89 +\scratchdimen=\dimen112 +\scratchbox=\box26 +\nofMPsegments=\count90 +\nofMParguments=\count91 +\everyMPshowfont=\toks15 +\MPscratchCnt=\count92 +\MPscratchDim=\dimen113 +\MPnumerator=\count93 +\makeMPintoPDFobject=\count94 +\everyMPtoPDFconversion=\toks16 +) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty +Package: pdftexcmds 2016/05/21 v0.22 Utility functions of pdfTeX for LuaTeX (HO +) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty +Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) +Package ifluatex Info: LuaTeX not detected. +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2016/05/14 v3.1 Provides the ifpdf switch +) +Package pdftexcmds Info: LuaTeX not detected. +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode found. +) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty +Package: epstopdf-base 2016/05/15 v2.6 Base part for package epstopdf + +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty +Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty +Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO) +)) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty +Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty +Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty +Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) +Package etexcmds Info: Could not find \expanded. +(etexcmds) That can mean that you are not using pdfTeX 1.50 or +(etexcmds) that some package has redefined \expanded. +(etexcmds) In the latter case, load this package earlier. +))) +Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 +38. +Package grfext Info: Graphics extension search list: +(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE +G,.JBIG2,.JB2,.eps] +(grfext) \AppendGraphicsExtensions on input line 456. + +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv +e +)) +Package caption Info: Begin \AtBeginDocument code. +Package caption Info: End \AtBeginDocument code. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <10.95> on input line 26. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 26. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 26. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <9> on input line 26. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <5> on input line 26. + +[1 + +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] [2] [3] (./3.aux) ) +Here is how much of TeX's memory you used: + 2564 strings out of 494945 + 40932 string characters out of 6181032 + 96811 words of memory out of 5000000 + 5861 multiletter control sequences out of 15000+600000 + 8809 words of font info for 31 fonts, out of 8000000 for 9000 + 14 hyphenation exceptions out of 8191 + 39i,8n,38p,616b,145s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on 3.pdf (3 pages, 83554 bytes). +PDF statistics: + 38 PDF objects out of 1000 (max. 8388607) + 26 compressed objects within 1 object stream + 0 named destinations out of 1000 (max. 500000) + 1 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/2020/Windows_Office_Ebay_Licenses/docs/3.pdf b/2020/Windows_Office_Ebay_Licenses/docs/3.pdf new file mode 100644 index 0000000..0cad054 Binary files /dev/null and b/2020/Windows_Office_Ebay_Licenses/docs/3.pdf differ diff --git a/2020/Windows_Office_Ebay_Licenses/docs/3.tex b/2020/Windows_Office_Ebay_Licenses/docs/3.tex new file mode 100644 index 0000000..6db8256 --- /dev/null +++ b/2020/Windows_Office_Ebay_Licenses/docs/3.tex @@ -0,0 +1,57 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\title{\textbf{}} +\usepackage{graphicx} +\usepackage{caption } +\author{Steak Electronics} +\date{06/4/19} +\begin{document} + +%\maketitle +\textbf{Ebay Office Licenses} + +\vspace{0.2in} + +%\textbf{Todo} +\section{Overview} +I needed to upgrade some computers, and this is what I found with office. Ebay has many cheap licenses, but there are all kinds of catches, and a few different licenses being sold, not to mention different editions... + +\section{Retail} +If you go to a retail store, 1st, you have to get office with Outlook. Everyone uses outlook. I don't know why. Thunderbird is fine. But people are dumb. Outlook is the easiest thing to wean people off of, as there's no requirement to use it. + +If you go to retail, the edition with outlook (in 2020, Home and Business, is what its called) is \$230. They give you a keycard. Literally, printing money is what they do. It's for one copy. + +If you get a CD/DVD, you used to be able to use it for 2 installs. Officially it was 1, but you could do 2 before it stopped you. + +I won't get into the subscription version, but subscription is about \$100 a year, for 5 devices under one person*\footnote{This is subject to change, as people are just using it for 5 different people's computers. Just wait, they will clamp down. It's actually a competitive deal now, but it's a trap. Not to mention, it's a recurring fee. BAD.} + +So you can go to retail and get fucked (excuse my french). Don't do that. You can do better online. + +\section{Breakdown of Ebay} +So we go to ebay to buy licenses. However, there are traps here as well. First off, buy from vetted sellers. Some accounts are made up very recently (I found one made yesterday) with seemingly unreal prices (\$5.00 for a license) and that is probably just a scam. + +However, keep in mind that you don't necessarily have to pay a lot for a license. Here's the types of office available. +\subsection{DVD and Product Key} +This is a good one, as you can probably get two installs off of it. However these are more expensive. Also, the DVDs or keys may just be counterfeit from China anyways. They are all over counterfeiting these, no doubt. The money is there. So this is an option, but maybe not the best. + +\subsection{Download and Key} +This gets complex. There are downloads with official ms links, and some with unofficial links. There are keys that require phone activation, and some that don't. Don't get one that req's phone activation. Although, it looks like I accidentally bought a phone activation one, and you can do it online technically, though its called phone activation. You don't actually talk to a human being though. All websites. + +Try to get one with an official MS link. I bought one with an unofficial link (mistake) so I checked the iso download with virustotal. It checked out clean. That's the best I could do. I tried to install the official ISO image for the same edition but here's another trap. I had the iso for normal office, and the key I had was only valid for the Volume License ISO. That is a TRAP, and evil. So I was forced to download the other ISO. Licensing is how this company prints free money, so it's very complex. + +\subsection{Key only with office.com acct} +There are also some options that offer only a key. Then you can sign into office.com and assign the key to an email address. These are great. Get these if you can, as you can download the ISO later on, and also deactivate, and activate it on your computer as needed. There is a danger they will someday just 'not support' old Office, and that would be evil, but for now, you get an official license that is guaranteed to be valid. It's active on the website. They can't assign it to someone else. + +\subsection{Where to find Downloads?} +Let's say you get a key, and they offer a download. You can search online, and there are often official ISOs available from official urls on the internet. Although by the time you read this, this fact may have changed. + +\subsubsection{Return Policy} +Oh, and make sure the seller allows returns. Some do not. + +\section{Conclusion} +Use libreoffice whenever possible. If you can't, go to ebay and buy licenses there. It will take some time, so grab some popcorn, and watch your spite rise. + + + + +\end{document} diff --git a/2020/Windows_Office_Ebay_Licenses/docs/3.tex~ b/2020/Windows_Office_Ebay_Licenses/docs/3.tex~ new file mode 100644 index 0000000..55dd25f --- /dev/null +++ b/2020/Windows_Office_Ebay_Licenses/docs/3.tex~ @@ -0,0 +1,57 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\title{\textbf{}} +\usepackage{graphicx} +\usepackage{caption } +\author{Steak Electronics} +\date{06/4/19} +\begin{document} + +%\maketitle +\textbf{Ebay Office Licenses} + +\vspace{0.2in} + +%\textbf{Todo} +\section{Overview} +I needed to upgrade some computers, and this is what I found with office. Ebay has many cheap licenses, but there are all kinds of catches, and a few different licenses being sold, not to mention different editions... + +\section{Retail} +If you go to a retail store, 1st, you have to get office with Outlook. Everyone uses outlook. I don't know why. Thunderbird is fine. But people are dumb. Outlook is the easiest thing to wean people off of, as there's no requirement to use it. + +If you go to retail, the edition with outlook (in 2020, Home and Business, is what its called) is \$230. They give you a keycard. Literally, printing money is what they do. It's for one copy. + +If you get a CD/DVD, you used to be able to use it for 2 installs. Officially it was 1, but you could do 2 before it stopped you. + +I won't get into the subscription version, but subscription is about \$100 a year, for 5 devices under one person*\footnote{This is subject to change, as people are just using it for 5 different people's computers. Just wait, they will clamp down. It's actually a competitive deal now, but it's a trap. Not to mention, it's a recurring fee. BAD.} + +So you can go to retail and get fucked (excuse my french). Don't do that. You can do better online. + +\section{Breakdown of Ebay} +So we go to ebay to buy licenses. However, there are traps here as well. First off, buy from vetted sellers. Some accounts are made up very recently (I found one made yesterday) with seemingly unreal prices (\$5.00 for a license) and that is probably just a scam. + +However, keep in mind that you don't necessarily have to pay a lot for a license. Here's the types of office available. +\subsection{DVD and Product Key} +This is a good one, as you can probably get two installs off of it. However these are more expensive. Also, the DVDs or keys may just be counterfeit from China anyways. They are all over counterfeiting these, no doubt. The money is there. So this is an option, but maybe not the best. + +\subsection{Download and Key} +This gets complex. There are downloads with official ms links, and some with unofficial links. There are keys that require phone activation, and some that don't. Don't get one that req's phone activation. + +Try to get one with an official MS link. I bought one with an unofficial link (mistake) so I checked the iso download with virustotal. It checked out clean. That's the best I could do. I tried to install the official ISO image for the same edition but here's another trap. I had the iso for normal office, and the key I had was only valid for the Volume License ISO. That is a TRAP, and evil. So I was forced to download the other ISO. Licensing is how this company prints free money, so it's very complex. + +\subsection{Key only with office.com acct} +There are also some options that offer only a key. Then you can sign into office.com and assign the key to an email address. These are great. Get these if you can, as you can download the ISO later on, and also deactivate, and activate it on your computer as needed. There is a danger they will someday just 'not support' old Office, and that would be evil, but for now, you get an official license that is guaranteed to be valid. It's active on the website. They can't assign it to someone else. + +\subsection{Where to find Downloads?} +Let's say you get a key, and they offer a download. You can search online, and there are often official ISOs available from official urls on the internet. Although by the time you read this, this fact may have changed. + +\subsubsection{Return Policy} +Oh, and make sure the seller allows returns. Some do not. + +\section{Conclusion} +Use libreoffice whenever possible. If you can't, go to ebay and buy licenses there. It will take some time, so grab some popcorn, and watch your spite rise. + + + + +\end{document} diff --git a/2020/iftop/docs/1.aux b/2020/iftop/docs/1.aux new file mode 100644 index 0000000..0ddf7f1 --- /dev/null +++ b/2020/iftop/docs/1.aux @@ -0,0 +1,2 @@ +\relax +\@writefile{toc}{\contentsline {section}{\numberline {1}Overview}{1}} diff --git a/2020/iftop/docs/1.log b/2020/iftop/docs/1.log new file mode 100644 index 0000000..8887b3b --- /dev/null +++ b/2020/iftop/docs/1.log @@ -0,0 +1,178 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 2 FEB 2020 01:45 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2020/iftop/doc +s/1.tex + +(/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2020/iftop/docs +/1.tex +LaTeX2e <2017/01/01> patch level 3 +Babel <3.9r> and hyphenation patterns for 3 language(s) loaded. +(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls +Document Class: article 2014/09/29 v1.4h Standard LaTeX document class +(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo +File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2014/10/28 v1.0g Enhanced LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks14 +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2016/10/09 v1.0u Standard LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: pdftex.def on input line 99. + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2017/01/12 v0.06k Graphics/color for pdfTeX + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty +Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty +Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) +) +\Gread@gobject=\count87 +)) +\Gin@req@height=\dimen103 +\Gin@req@width=\dimen104 +) +(/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty +Package: caption 2016/02/21 v3.3-144 Customizing captions (AR) + +(/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty +Package: caption3 2016/05/22 v1.7-166 caption3 kernel (AR) +Package caption3 Info: TeX engine: e-TeX on input line 67. +\captionmargin=\dimen105 +\captionmargin@=\dimen106 +\captionwidth=\dimen107 +\caption@tempdima=\dimen108 +\caption@indent=\dimen109 +\caption@parindent=\dimen110 +\caption@hangindent=\dimen111 +) +\c@ContinuedFloat=\count88 +) (./1.aux) +\openout1 = `1.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 8. +LaTeX Font Info: ... okay on input line 8. + +(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count89 +\scratchdimen=\dimen112 +\scratchbox=\box26 +\nofMPsegments=\count90 +\nofMParguments=\count91 +\everyMPshowfont=\toks15 +\MPscratchCnt=\count92 +\MPscratchDim=\dimen113 +\MPnumerator=\count93 +\makeMPintoPDFobject=\count94 +\everyMPtoPDFconversion=\toks16 +) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty +Package: pdftexcmds 2016/05/21 v0.22 Utility functions of pdfTeX for LuaTeX (HO +) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty +Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) +Package ifluatex Info: LuaTeX not detected. +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2016/05/14 v3.1 Provides the ifpdf switch +) +Package pdftexcmds Info: LuaTeX not detected. +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode found. +) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty +Package: epstopdf-base 2016/05/15 v2.6 Base part for package epstopdf + +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty +Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty +Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO) +)) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty +Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty +Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty +Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) +Package etexcmds Info: Could not find \expanded. +(etexcmds) That can mean that you are not using pdfTeX 1.50 or +(etexcmds) that some package has redefined \expanded. +(etexcmds) In the latter case, load this package earlier. +))) +Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 +38. +Package grfext Info: Graphics extension search list: +(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE +G,.JBIG2,.JB2,.eps] +(grfext) \AppendGraphicsExtensions on input line 456. + +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv +e +)) +Package caption Info: Begin \AtBeginDocument code. +Package caption Info: End \AtBeginDocument code. + +[1 + +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] (./1.aux) ) +Here is how much of TeX's memory you used: + 2537 strings out of 494945 + 40559 string characters out of 6181032 + 92811 words of memory out of 5000000 + 5843 multiletter control sequences out of 15000+600000 + 4853 words of font info for 18 fonts, out of 8000000 for 9000 + 14 hyphenation exceptions out of 8191 + 39i,4n,38p,314b,107s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on 1.pdf (1 page, 34924 bytes). +PDF statistics: + 20 PDF objects out of 1000 (max. 8388607) + 13 compressed objects within 1 object stream + 0 named destinations out of 1000 (max. 500000) + 1 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/2020/iftop/docs/1.pdf b/2020/iftop/docs/1.pdf new file mode 100644 index 0000000..4028c35 Binary files /dev/null and b/2020/iftop/docs/1.pdf differ diff --git a/2020/iftop/docs/1.tex b/2020/iftop/docs/1.tex new file mode 100644 index 0000000..16eeb71 --- /dev/null +++ b/2020/iftop/docs/1.tex @@ -0,0 +1,20 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\title{\textbf{}} +\usepackage{graphicx} +\usepackage{caption } +\author{Steak Electronics} +\date{06/4/19} +\begin{document} + +%\maketitle +\textbf{Iftop} + +\vspace{0.2in} + +%\textbf{Todo} +\section{Overview} +Iftop is a program which will show you network traffic and activity. + +It is highly useful, and I've used it before. You can see IPs for each interface. You can witness things such as open webpages which keep active internet connection (quite suspicious practice), even when inactive. +\end{document} diff --git a/2020/iftop/docs/1.tex~ b/2020/iftop/docs/1.tex~ new file mode 100644 index 0000000..d994e5e --- /dev/null +++ b/2020/iftop/docs/1.tex~ @@ -0,0 +1,34 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\title{\textbf{}} +\usepackage{graphicx} +\usepackage{caption } +\author{Steak Electronics} +\date{06/4/19} +\begin{document} + +%\maketitle +\textbf{Nextcloud Research} + +\vspace{0.2in} + +%\textbf{Todo} +\section{Overview} +I need something to sync contacts for clients. Nextcloud has that option. Let's try it out. + +\section{Work Log} +I had trouble finding a nextcloud that was managed for under \$25 month. I did find one, finally (open it store). + +They installed everything. I didn't use my own domain name, but no big deal. + +I downloaded nextcloud for my 4.5 android, and it works. Now to try contact sync. + +Once you open the nextcloud app, there is a way to sync contacts. Requires davx5. So I got that. It brought me to the login page, and I tried logging in, but it failed. It may have been a bad password. I tried again using the URL +https://my.domain.com/remote.php/dav/ +replacing my.domain with my URL, and it worked. I think the first time, I just had the password wrong. + +After that, davx5 loads up. There is a carddav option. It takes 2-3 minutes to load (you'll see a spinning animation). After that, you can click a checkbox for contacts, then click the 'sync' button. + + + +\end{document} diff --git a/2020/iftop/docs/2.tex~ b/2020/iftop/docs/2.tex~ new file mode 100644 index 0000000..d994e5e --- /dev/null +++ b/2020/iftop/docs/2.tex~ @@ -0,0 +1,34 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\title{\textbf{}} +\usepackage{graphicx} +\usepackage{caption } +\author{Steak Electronics} +\date{06/4/19} +\begin{document} + +%\maketitle +\textbf{Nextcloud Research} + +\vspace{0.2in} + +%\textbf{Todo} +\section{Overview} +I need something to sync contacts for clients. Nextcloud has that option. Let's try it out. + +\section{Work Log} +I had trouble finding a nextcloud that was managed for under \$25 month. I did find one, finally (open it store). + +They installed everything. I didn't use my own domain name, but no big deal. + +I downloaded nextcloud for my 4.5 android, and it works. Now to try contact sync. + +Once you open the nextcloud app, there is a way to sync contacts. Requires davx5. So I got that. It brought me to the login page, and I tried logging in, but it failed. It may have been a bad password. I tried again using the URL +https://my.domain.com/remote.php/dav/ +replacing my.domain with my URL, and it worked. I think the first time, I just had the password wrong. + +After that, davx5 loads up. There is a carddav option. It takes 2-3 minutes to load (you'll see a spinning animation). After that, you can click a checkbox for contacts, then click the 'sync' button. + + + +\end{document} diff --git a/2020/iftop/docs/3.tex~ b/2020/iftop/docs/3.tex~ new file mode 100644 index 0000000..940367b --- /dev/null +++ b/2020/iftop/docs/3.tex~ @@ -0,0 +1,42 @@ +\documentclass[11pt]{article} +%Gummi|065|=) +\title{\textbf{}} +\usepackage{graphicx} +\usepackage{caption } +\author{Steak Electronics} +\date{06/4/19} +\begin{document} + +%\maketitle +\textbf{Nextcloud Research} + +\vspace{0.2in} + +%\textbf{Todo} +\section{Overview} +I need something to sync contacts for clients. Nextcloud has that option. Let's try it out. + +\section{Work Log} +I had trouble finding a nextcloud that was managed for under \$25 month. I did find one, finally (open it store). + +They installed everything. I didn't use my own domain name, but no big deal. + +I downloaded nextcloud for my 4.5 android, and it works. Now to try contact sync. + +Once you open the nextcloud app, there is a way to sync contacts. Requires davx5. So I got that. It brought me to the login page, and I tried logging in, but it failed. It may have been a bad password. I tried again using the URL +https://my.domain.com/remote.php/dav/ +replacing my.domain with my URL, and it worked. I think the first time, I just had the password wrong. + +After that, davx5 loads up. There is a carddav option. It takes 2-3 minutes to load (you'll see a spinning animation). After that, you can click a checkbox for contacts, then click the 'sync' button. Then wait. + +It will pop up a window for sync settings. I set contacts to sync once a day, and only on wifi. Unfortunately, I don't see any contacts in nc. + +What I ended up doing was instead of davdroid, which doesn't seem to work, I did nc's option to 'backup contacts' just below it. This sounds like a manual update, but it does mention that it has an automatic backup option. So I'll have to confirm that it actually automatically backs them up later. + +So I downloaded the vcf from the nc instance, and I have contacts. OK. + + + + + +\end{document}