Merge branch 'main' into main
724
graphs/OPSEC.drawio
Normal file
1542
graphs/PRODUCTIVITY.drawio
Normal file
70
graphs/pyramid of internet use.drawio
Normal file
189
graphs/qualitystandard.drawio
Normal file
|
@ -0,0 +1,189 @@
|
|||
<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/25.0.2 Chrome/128.0.6613.186 Electron/32.2.5 Safari/537.36" version="25.0.2">
|
||||
<diagram name="Page-1" id="YaltkXUbTmxIE2NtYj1t">
|
||||
<mxGraphModel dx="861" dy="653" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="0" />
|
||||
<mxCell id="1" parent="0" />
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="b_qoK0y8lgKdcArtdpya-1" target="b_qoK0y8lgKdcArtdpya-2" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-1" value="It is possible to achieve,<br><u>here's what you need</u>" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fa6800;fontColor=#000000;strokeColor=#C73500;" parent="1" vertex="1">
|
||||
<mxGeometry x="318" y="292" width="184" height="35" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-2" value="It is simpler than you think,<br><u>here's how you can implement it</u>" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#008a00;fontColor=#ffffff;strokeColor=#005700;" parent="1" vertex="1">
|
||||
<mxGeometry x="311" y="343" width="198" height="37" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-4" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="410" y="294.33333333333337" as="targetPoint" />
|
||||
<mxPoint x="410" y="272" as="sourcePoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-8" value="The Nihilism Blog's&nbsp;<div>3 goals</div>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
||||
<mxGeometry x="348.5" y="167" width="123" height="41" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-10" value="You actually need privacy, anonymity and deniability, <u>here's why</u>" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f0a30a;fontColor=#000000;strokeColor=#BD7000;" parent="1" vertex="1">
|
||||
<mxGeometry x="356" y="211" width="108" height="61" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-11" value="Tyranny's 3 goals" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
||||
<mxGeometry x="577" y="174.5" width="111" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-15" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="b_qoK0y8lgKdcArtdpya-12" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="632.5" y="294" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-12" value="Trust us, you don't need privacy, anonymity and deniability, <u>don't ask why</u>" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e51400;fontColor=#ffffff;strokeColor=#B20000;" parent="1" vertex="1">
|
||||
<mxGeometry x="562" y="211" width="141" height="61" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-16" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="b_qoK0y8lgKdcArtdpya-13" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="632.5" y="361.20000000000005" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-13" value="Panopticon propaganda: it is not possible to achieve" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e51400;fontColor=#ffffff;strokeColor=#B20000;" parent="1" vertex="1">
|
||||
<mxGeometry x="549" y="295" width="167" height="39" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-14" value="censoring everything that helps the individual achieve it" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e51400;fontColor=#ffffff;strokeColor=#B20000;" parent="1" vertex="1">
|
||||
<mxGeometry x="562" y="361" width="141" height="57" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-17" value="<span>The Nihilism Blog<br>Quality Standard</span>" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#a20025;strokeColor=#6F0000;fontStyle=1;fontSize=21;fontColor=#ffffff;" parent="1" vertex="1">
|
||||
<mxGeometry x="943" y="121" width="228" height="87" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-18" value="General structure: WHY / WHAT / HOW<br>(it can be across multiple blogposts)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#008a00;fontColor=#ffffff;strokeColor=#005700;" parent="1" vertex="1">
|
||||
<mxGeometry x="1048" y="228" width="231" height="36" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-23" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="b_qoK0y8lgKdcArtdpya-19" target="b_qoK0y8lgKdcArtdpya-22" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-60" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="b_qoK0y8lgKdcArtdpya-19" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="1102.5" y="328.83333333333337" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-19" value="FIRST: why is this important ?" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#008a00;fontColor=#ffffff;strokeColor=#005700;" parent="1" vertex="1">
|
||||
<mxGeometry x="1106" y="280" width="210" height="29" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-24" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="b_qoK0y8lgKdcArtdpya-20" target="b_qoK0y8lgKdcArtdpya-22" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-61" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="b_qoK0y8lgKdcArtdpya-20" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="1101.666666666667" y="368.8333333333335" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-20" value="SECOND: what is the best option ?" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#008a00;fontColor=#ffffff;strokeColor=#005700;" parent="1" vertex="1">
|
||||
<mxGeometry x="1106" y="320" width="210" height="29" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-26" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="b_qoK0y8lgKdcArtdpya-21" target="b_qoK0y8lgKdcArtdpya-25" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-21" value="THIRD: How can i implement that option ?" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#008a00;fontColor=#ffffff;strokeColor=#005700;" parent="1" vertex="1">
|
||||
<mxGeometry x="1106" y="361" width="248" height="29" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-33" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="b_qoK0y8lgKdcArtdpya-22" target="b_qoK0y8lgKdcArtdpya-27" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-22" value=""To be explained"" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#008a00;fontColor=#ffffff;strokeColor=#005700;" parent="1" vertex="1">
|
||||
<mxGeometry x="1393" y="320" width="119" height="29" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-37" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="b_qoK0y8lgKdcArtdpya-25" target="b_qoK0y8lgKdcArtdpya-36" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="1455" y="416" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-25" value=""To be showcased"" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#008a00;fontColor=#ffffff;strokeColor=#005700;" parent="1" vertex="1">
|
||||
<mxGeometry x="1393" y="361" width="119" height="29" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-32" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="b_qoK0y8lgKdcArtdpya-27" target="b_qoK0y8lgKdcArtdpya-31" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-27" value="wall of text" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e51400;fontColor=#ffffff;strokeColor=#B20000;" parent="1" vertex="1">
|
||||
<mxGeometry x="1554" y="320" width="94" height="29" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-28" value="There is no how without what,<div>there is no what without why</div>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
||||
<mxGeometry x="876" y="308" width="177" height="41" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-35" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="b_qoK0y8lgKdcArtdpya-31" target="b_qoK0y8lgKdcArtdpya-34" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-31" value="multiple paragraphs<br>with highlighted important parts (using &lt;b&gt;&lt;/b&gt;)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f0a30a;fontColor=#000000;strokeColor=#BD7000;" parent="1" vertex="1">
|
||||
<mxGeometry x="1671" y="295" width="94" height="79" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-34" value="multiple paragraphs, highlighted important text, and a graph to visually explain the same" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#008a00;fontColor=#ffffff;strokeColor=#005700;" parent="1" vertex="1">
|
||||
<mxGeometry x="1797" y="300" width="161" height="69" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-43" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="b_qoK0y8lgKdcArtdpya-36" target="b_qoK0y8lgKdcArtdpya-38" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-45" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="b_qoK0y8lgKdcArtdpya-36" target="b_qoK0y8lgKdcArtdpya-42" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-36" value="just talking about the steps to make without showing each one (aka being lazy)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e51400;fontColor=#ffffff;strokeColor=#B20000;" parent="1" vertex="1">
|
||||
<mxGeometry x="1515" y="385" width="124" height="62" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-48" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="b_qoK0y8lgKdcArtdpya-38" target="b_qoK0y8lgKdcArtdpya-40" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-38" value="Listing the steps, in a step-by-step order" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f0a30a;fontColor=#000000;strokeColor=#BD7000;" parent="1" vertex="1">
|
||||
<mxGeometry x="1515" y="483" width="124" height="52" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-49" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="b_qoK0y8lgKdcArtdpya-40" target="b_qoK0y8lgKdcArtdpya-46" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-40" value="Listing each step in order, and SHOWING how to do each step, without skipping any" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#008a00;fontColor=#ffffff;strokeColor=#005700;" parent="1" vertex="1">
|
||||
<mxGeometry x="1496" y="570" width="162" height="62" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-47" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="b_qoK0y8lgKdcArtdpya-42" target="b_qoK0y8lgKdcArtdpya-46" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-42" value="Showing the commandline (copy paste into the &lt;code&gt;&lt;/code&gt; blocks), taking screenshots, and taking pictures" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f0a30a;fontColor=#000000;strokeColor=#BD7000;" parent="1" vertex="1">
|
||||
<mxGeometry x="1701" y="390" width="201" height="89" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-46" value="Showing the important parts of the commandline (copy paste into the &lt;code&gt;&lt;/code&gt; blocks), taking screenshots (with arrows to show where to click), and taking pictures (with arrows too)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#008a00;fontColor=#ffffff;strokeColor=#005700;" parent="1" vertex="1">
|
||||
<mxGeometry x="1701" y="503" width="201" height="89" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-50" value="Talking about the path is for lazy blogwriters.<br>You are expected to show everyone<br>&nbsp;HOW you are walking that path,&nbsp;<br>without skipping any detail<br>and accurately explain what you are doing" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
||||
<mxGeometry x="1924" y="392.5" width="254" height="84" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-55" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="b_qoK0y8lgKdcArtdpya-51" target="b_qoK0y8lgKdcArtdpya-54" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-51" value="Spelling mistakes" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e51400;fontColor=#ffffff;strokeColor=#B20000;" parent="1" vertex="1">
|
||||
<mxGeometry x="1554" y="230" width="94" height="39" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-53" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.499;entryY=1.069;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="b_qoK0y8lgKdcArtdpya-27" target="b_qoK0y8lgKdcArtdpya-51" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-54" value="Fix all of your spelling&nbsp; + Grammar mistakes by using vscodium's plugin "LTeX+"" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#008a00;fontColor=#ffffff;strokeColor=#005700;" parent="1" vertex="1">
|
||||
<mxGeometry x="1792" y="205.5" width="136" height="88" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-56" value="Acceptable, <u>and expected</u>" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#008a00;fontColor=#ffffff;strokeColor=#005700;" parent="1" vertex="1">
|
||||
<mxGeometry x="1170" y="547" width="193" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-57" value="Definitely not acceptable" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e51400;fontColor=#ffffff;strokeColor=#B20000;" parent="1" vertex="1">
|
||||
<mxGeometry x="1170" y="473" width="159" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-58" value="<u>Color Code:</u>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
||||
<mxGeometry x="1136" y="441" width="82" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="b_qoK0y8lgKdcArtdpya-59" value="Still not acceptable, but better" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f0a30a;fontColor=#000000;strokeColor=#BD7000;" parent="1" vertex="1">
|
||||
<mxGeometry x="1170" y="510" width="178" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="9NNkzH2eHO21wP-u4fCP-1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.377;entryY=1.009;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="b_qoK0y8lgKdcArtdpya-2" target="b_qoK0y8lgKdcArtdpya-2">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="410" y="396" />
|
||||
<mxPoint x="386" y="396" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="9NNkzH2eHO21wP-u4fCP-2" value="Continuous improvement<br>in simplifying the way to achieve it<br>wherever possible" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||||
<mxGeometry x="310.5" y="390" width="199" height="55" as="geometry" />
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
</mxfile>
|
Before Width: | Height: | Size: 223 KiB After Width: | Height: | Size: 205 KiB |
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 135 KiB After Width: | Height: | Size: 135 KiB |
BIN
opsec/hypervisorsetup/10_dev_list_over_onion.png
Normal file
After Width: | Height: | Size: 100 KiB |
Before Width: | Height: | Size: 113 KiB After Width: | Height: | Size: 113 KiB |
Before Width: | Height: | Size: 69 KiB After Width: | Height: | Size: 69 KiB |
Before Width: | Height: | Size: 181 KiB After Width: | Height: | Size: 181 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 49 KiB After Width: | Height: | Size: 49 KiB |
Before Width: | Height: | Size: 54 KiB After Width: | Height: | Size: 54 KiB |
Before Width: | Height: | Size: 91 KiB After Width: | Height: | Size: 91 KiB |
Before Width: | Height: | Size: 74 KiB After Width: | Height: | Size: 74 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 122 KiB After Width: | Height: | Size: 122 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 86 KiB After Width: | Height: | Size: 86 KiB |
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 31 KiB |
Before Width: | Height: | Size: 8.5 KiB After Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 136 KiB After Width: | Height: | Size: 136 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 51 KiB After Width: | Height: | Size: 51 KiB |
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 80 KiB |
Before Width: | Height: | Size: 114 KiB After Width: | Height: | Size: 114 KiB |
Before Width: | Height: | Size: 75 KiB After Width: | Height: | Size: 75 KiB |
Before Width: | Height: | Size: 128 KiB After Width: | Height: | Size: 128 KiB |
Before Width: | Height: | Size: 396 KiB After Width: | Height: | Size: 396 KiB |
Before Width: | Height: | Size: 9.2 KiB After Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 206 KiB After Width: | Height: | Size: 206 KiB |
Before Width: | Height: | Size: 57 KiB After Width: | Height: | Size: 57 KiB |
Before Width: | Height: | Size: 136 KiB After Width: | Height: | Size: 136 KiB |
Before Width: | Height: | Size: 122 KiB After Width: | Height: | Size: 122 KiB |
Before Width: | Height: | Size: 137 KiB After Width: | Height: | Size: 137 KiB |
Before Width: | Height: | Size: 195 KiB After Width: | Height: | Size: 195 KiB |
Before Width: | Height: | Size: 83 KiB After Width: | Height: | Size: 83 KiB |
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 28 KiB |
|
@ -239,6 +239,69 @@ reboot now
|
|||
</div><!-- /row -->
|
||||
</div> <!-- /container -->
|
||||
</div><!-- /white -->
|
||||
<div id="anon2">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-8 col-lg-offset-2">
|
||||
<h2><b>How to harden your private VM by distro-morphing it into Kicksecure</b></h2> </br> </br>
|
||||
<p><b>What is Kicksecure?</b> Kicksecure is a free and open-source Linux distribution designed to provide a highly secure computing environment. It is built on a hardened version of Debian, implementing a defense-in-depth security model that protects against various types of malware and attacks.</p>
|
||||
<p><b>Reasons to use Kicksecure</b></p>
|
||||
<ul>
|
||||
<li>Enhanced Security Features:</li>
|
||||
<p>Kicksecure is designed with a strong focus on security, incorporating various hardening techniques such as kernel hardening, user account isolation, and application-specific restrictions.</p>
|
||||
<li>Privacy Protection:</li>
|
||||
<p>All updates and software installations are routed through the Tor network, ensuring that user identities and IP addresses remain anonymous.</p>
|
||||
<li>Lower Attack Surface:</li>
|
||||
<p>Kicksecure minimizes potential vulnerabilities by not having open server ports or unnecessary services running by default. </p>
|
||||
<li>User -Friendly Experience:</li>
|
||||
<p>The operating system is designed to be accessible, with many applications available in their apt repositories and configured for immediate use, such as the <a href="../torbrowsing/index.html">tor browser.</a></p>
|
||||
<li>Compatibility with Virtualization:</li>
|
||||
<p>Kicksecure supports various virtualization options, allowing users to run it in a virtual machine.</p>
|
||||
<li>Free and Open Source:</li>
|
||||
<p>As an open-source project, Kicksecure allows users to review, modify, and redistribute the source code.</p>
|
||||
</ul>
|
||||
<p>
|
||||
<b>Kicksecure is important in many scenarios.</b> It is ideal for individuals handling sensitive data, such as personal or financial information, as its robust security features protect against data breaches and unauthorized access. Journalists, activists, and whistleblowers can maintain anonymity while communicating, safeguarding their identities from surveillance. Users accessing public Wi-Fi can rely on Kicksecure for secure browsing, reducing the risk of data interception. Running Kicksecure in a virtual machine helps contain potential malware threats, protecting the primary operating system. Additionally, developers and researchers can create a secure environment for security tools and cybersecurity research. Kicksecure also serves as an educational resource, offering documentation and community support for users looking to enhance their security knowledge. Its hardened configuration defends against brute force attacks, making it suitable for securing sensitive accounts. Overall, Kicksecure is essential for anyone prioritizing security, privacy, and anonymity in their digital activities. For more details on why you should use kicksecure, check out their official <a href="https://www.kicksecure.com/wiki/About">website.</a></p>
|
||||
<p>Now let's setup Kicksecure in the private VM, by distro-morphing the Debian guest OS into a Kicksecure guest OS. First,we need to create a new group called console. Then add the your user to the console group</p>
|
||||
<!-- <img src="" class="imgRz"> -->
|
||||
<pre><code class="nim">sudo addgroup --system console</code></pre>
|
||||
<!-- <p></p> -->
|
||||
<pre><code class="nim">sudo adduser "your_username" console</code></pre>
|
||||
<p>After that,we need to install console related packages.</p>
|
||||
<pre><code class="nim"> sudo apt install console-data console-common kbd keyboard-configuration</code></pre>
|
||||
<!-- <img src="assets/05_installing_requirements.png" class="imgRz"> -->
|
||||
<p>Now, we will install extrepo to get the kicksecure APT repository. We will also enable the repository</p>
|
||||
<pre><code class="nim"> sudo apt install extrepo </code></pre>
|
||||
<pre><code class="nim"> sudo extrepo enable kicksecure </code></pre>
|
||||
<!-- <pre><code class="nim"> sudo apt install apt-transort-tor</code></pre> -->
|
||||
<p>Next step is to download the kicksecure packages. Note that this will install a desktop environment(Xfce) and other applications</p>
|
||||
<pre><code class="nim">sudo apt install kicksecure-xfce-host</code></pre>
|
||||
<!-- <img src="assets/09_installs_kicksecure_packges.png" class="imgRz"> -->
|
||||
<p>Finally, we need to enable the Kicksecure APT derivative.list in /etc/apt/sources.list.d/derivative.list</p>
|
||||
<pre><code class="nim">sudo repository-dist --enable --repository onion</code></pre>
|
||||
<p>This command will generate derivative.list file.</p>
|
||||
<img src="10_dev_list_over_onion.png" class="imgRz">
|
||||
<p>Disable the extrepo kicksecure APT repository. This is to avoid a duplicate Kicksecure repository.</p>
|
||||
<pre><code class="nim"> sudo extrepo disable kicksecure</code></pre>
|
||||
|
||||
<p>That's it! A quick reboot will apply all the new settings and configurations.</p>
|
||||
<pre><code class="nim">sudo reboot</code></pre>
|
||||
|
||||
<p><b>Changes after reboot</b></p>
|
||||
<p>New GNU GRUB menu</p>
|
||||
<img class="imgRz" src="new_grub.png">
|
||||
<p>sdwdate to synchronize the system clock with time servers over the Tor network for better anonymity.</p>
|
||||
<img class="imgRz" src="sdwdate.png">
|
||||
<p>System Integrity Checks</p>
|
||||
<img class="imgRz" src="sys_inter.png">
|
||||
<p>System updates over Tor</p>
|
||||
<img class="imgRz" src="tor.png">
|
||||
|
||||
<p><b>In conclusion</b>,Kicksecure offers a robust solution for security and privacy, built on a hardened Debian foundation. Users can confidently operate within a Kicksecure VM, ready for private use in today’s complex digital landscape.</p>
|
||||
</div>
|
||||
</div><!--/row -->
|
||||
</div> <!-- /container -->
|
||||
</div><!-- /white -->
|
||||
|
||||
<!-- +++++ Footer Section +++++ -->
|
||||
|
||||
|
@ -264,14 +327,14 @@ reboot now
|
|||
|
||||
<div class="col-lg-4">
|
||||
<h4>About nihilist</h4>
|
||||
<p style="word-wrap: break-word;"><u>Donate XMR:</u> 8AUYjhQeG3D5aodJDtqG499N5jXXM71gYKD8LgSsFB9BUV1o7muLv3DXHoydRTK4SZaaUBq4EAUqpZHLrX2VZLH71Jrd9k8</p></br><p><u>Contact:</u> nihilist@contact.nowhere.moe (<a href="https://nowhere.moe/nihilist.pubkey">PGP</a>)</p>
|
||||
<p style="word-wrap: break-word;"><u>Donate XMR:</u> 85fGTpPWivci2dRzJSgvm5QeEuEUZ11ZDbZA6Yc58XdCHSen2oRKLpgbNBr1sv9gacbrfMP3Qw23RcGqYb8V1FN4L67kph6</p></br><p><u>Contact:</u> nihilist@contact.nowhere.moe (<a href="https://nowhere.moe/nihilist.pubkey">PGP</a>)</p>
|
||||
</div><!-- /col-lg-4 -->
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<!-- Bootstrap core JavaScript
|
||||
================================================== -->
|
||||
|
|
BIN
opsec/hypervisorsetup/new_grub.png
Normal file
After Width: | Height: | Size: 141 KiB |
BIN
opsec/hypervisorsetup/sdwdate.png
Normal file
After Width: | Height: | Size: 84 KiB |
BIN
opsec/hypervisorsetup/sys_inter.png
Normal file
After Width: | Height: | Size: 128 KiB |
BIN
opsec/hypervisorsetup/tor.png
Normal file
After Width: | Height: | Size: 54 KiB |
|
@ -40,7 +40,8 @@
|
|||
<div class="col-lg-8 col-lg-offset-2">
|
||||
<a href="../index.html">Previous Page</a></br></br><h1>OPSEC: Privacy, Anonymity and Plausible Deniability</h1>
|
||||
<p> Tutorials to show how to achieve Privacy, Anonymity and Plausible Deniability online.
|
||||
I have <a href="tutorial/index.html">a quality standard</a> as to how i do these tutorials, if there are any improvements i can do on them please let me know.
|
||||
I have <a href="tutorial/index.html">a quality standard</a> as to how i do these tutorials, if there are any improvements i can do on them please let me know.</p>
|
||||
|
||||
<img src="opsec4levels/0.png" class="imgRz">
|
||||
<p> <a href="opsec4levels/index.html"><u>SHOWCASED ARTICLE:</u></a> Learn how to audit your own setup, to determine your Operational Security (OPSEC) Level, and find out what is the most appropriate internet use for it.</p>
|
||||
</p></br>
|
||||
|
|
Before Width: | Height: | Size: 123 KiB After Width: | Height: | Size: 249 KiB |
598
opsec/v2ray/:q
Normal file
|
@ -0,0 +1,598 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
<link rel="shortcut icon" href="../../../../../../assets/img/favicon.png">
|
||||
|
||||
<title>How to access Tor when you are in a heavily-censored country using v2ray (vmess / vless)</title>
|
||||
|
||||
<!-- Bootstrap core CSS -->
|
||||
<link href="../../assets/css/bootstrap.css" rel="stylesheet">
|
||||
<link href="../../assets/css/xt256.css" rel="stylesheet">
|
||||
|
||||
|
||||
|
||||
<!-- Custom styles for this template -->
|
||||
<link href="../../assets/css/main.css" rel="stylesheet">
|
||||
|
||||
|
||||
|
||||
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
||||
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<!-- Static navbar -->
|
||||
<div class="navbar navbar-inverse-anon navbar-static-top">
|
||||
<div class="container">
|
||||
<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<a class="navbar-brand-anon" href="\index.html">The Nihilism Blog</a>
|
||||
</div>
|
||||
<div class="navbar-collapse collapse">
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
|
||||
<li><a href="/about.html">About</a></li>
|
||||
<li><a href="/blog.html">Categories</a></li>
|
||||
<li><a href="https://blog.nowhere.moe/donate.html">Donate</a></li>
|
||||
<li><a href="/contact.html">Contact</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!--/.nav-collapse -->
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- +++++ Posts Lists +++++ -->
|
||||
<!-- +++++ First Post +++++ -->
|
||||
<div id="anon2">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-8 col-lg-offset-2">
|
||||
<a href="../index.html">Previous Page</a></br></br>
|
||||
<p><img src="./zero.png" width="auto" height="50px">
|
||||
<ba style="text-transform: none;">Zer0</ba>
|
||||
</p>
|
||||
<h1>How to access Tor when you are in a heavily-censored country using v2ray (vmess / vless) </h1>
|
||||
<img src="./sheep.webp" style="max-width: 20%;">
|
||||
<br><br>
|
||||
<blockquote class="blockquote">
|
||||
<p>"How charming it is to witness such harmony—where
|
||||
freedom is a gentle illusion, and every bleat
|
||||
is a reminder that safety lies not in the open fields,
|
||||
but in the comforting embrace of the shepherd’s leash"</p>
|
||||
</blockquote>
|
||||
<p class="lead">
|
||||
some governments just love to restrict free flow of information
|
||||
in the name of serving and securing their citizens by implying
|
||||
censorship and blocking certain websites.
|
||||
So in this tutorail we deep dive into circumviliation tools and their working principles.
|
||||
</p>
|
||||
|
||||
</div>
|
||||
</div><!-- /row -->
|
||||
</div> <!-- /container -->
|
||||
</div><!-- /grey -->
|
||||
|
||||
<!-- +++++ Second Post +++++ -->
|
||||
<div id="anon3">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-8 col-lg-offset-2">
|
||||
<h2><b>Introduction</b></h2>
|
||||
<p>
|
||||
<ul>
|
||||
|
||||
<li>
|
||||
<h3><u>Why should I use v2ray? </u></h3>
|
||||
<p><b>If your country makes TOR traffic as illegal, how can you access .onion websites anyway ?</b>
|
||||
<br><br>
|
||||
Normally you would just hide that you are using Tor <a href="../torthroughvpn/index.html">by hiding it behind a VPN</a> (which can be based on wireguard or openvpn) like we have previously recommended:
|
||||
<img src="../torthroughvpn/5.png" width="100%">
|
||||
<br><br>
|
||||
but now we have another problem, <b>what if your country also made VPNs illegal to use ?</b>
|
||||
<br>
|
||||
<img src="./is-vpn-legal-in-your-country.jpeg" width="100%">
|
||||
<br><br>
|
||||
<b>If you are in a country where both Tor and VPNs are illegal to use</b>, you'll need to use a censorship-evasion tool like v2ray <b>to be able to safely hide that you're using Tor.</b>
|
||||
</li>
|
||||
<li>
|
||||
<h3><u>Project V and Project X </u></h3>
|
||||
<p><b>V2ray</b> : an open source censorship circumvention tool also know as project V is a framework where one could stack protocols as well as modify standard protocols to bypass firewalls.
|
||||
</p>
|
||||
<p><b>Xray</b>: a superset of v2ray, with better overall performance and enhancements such as XTLS</p>
|
||||
<p class="lead">
|
||||
XTLS is an optimized/modification of TLS protocol, it works by using real TLS to hide proxy traffic
|
||||
</p>
|
||||
<br><br>
|
||||
<blockquote class="blockquote">
|
||||
|
||||
|
||||
V2ray is not a protocol rather a platform where users could design their own protocol stacks based on the primitive protocols like TCP,UDP,HTTP
|
||||
|
||||
while vmess and vless are proxy protocols which are native to v2ray.
|
||||
|
||||
</blockquote>
|
||||
<br><br>
|
||||
<br><br>
|
||||
V2rays has the ability to obfuscate and make packets appear to be genuine webtraffic, <b>in order to prevent the adversary from figuring out that you are using Tor.</b>
|
||||
<img src="./wg_limitation.png" width="100%">
|
||||
Wireguard as well as openvpn <mark> does not provide any obfuscation feature </mark>and will be detected easily by header match or DPI.
|
||||
<img src="./wg_official2.png" width="100%">
|
||||
<br>
|
||||
(they have this in their codebase which clearly shows how to detect Wireguard traffic)
|
||||
<a href="https://github.com/wireshark/wireshark/blob/ef9c79ae81b00a63aa8638076ec81dc9482972e9/epan/dissectors/packet-wireguard.c#L1618-L1625">ref</a>
|
||||
</p>
|
||||
<p>But How does a V2ray traffic look like? </p>
|
||||
Here's a Wireshark dump of <mark> curl archlinux.org</mark> with and without v2ray.
|
||||
<br>
|
||||
<img src="./v2ray_domain_Fronted_traffic.png" width="100%">
|
||||
<br><br>
|
||||
As you could see requests to archlinux.org ( with v2ray ) goes to a popular website giphy but is actually communicating to our V2ray server behind the CDN through Websocket protocol.
|
||||
<br>
|
||||
(Domain Fronting method is being used here)
|
||||
<br><br>
|
||||
|
||||
<blockquote class="blockquote">
|
||||
we could use v2ray to make our own versions of primitive protocols to "fool the wall".
|
||||
</blockquote>
|
||||
<br><br>
|
||||
</li>
|
||||
<li>
|
||||
<h3><u>Some Principles to get started
|
||||
</u></h3>
|
||||
<p><img src="./v2ray-outline.png" width="100%"></p>
|
||||
<blockquote class="blockquote">
|
||||
<b>Transport</b> : The protocol used to connect to the v2ray server.
|
||||
<br>
|
||||
<b>Inbounds</b> : Connections to the v2ray server.
|
||||
<br>
|
||||
<b>Routing</b> : Rules defining how an inbound connection should be treated.
|
||||
(Ex. drop connection requests from certain domains, route inbound through a socks server)
|
||||
<br>
|
||||
<b>Outbounds</b> : Connections going out of v2ray server.(Ex. Towards the user requested website)
|
||||
<br>
|
||||
</blockquote>
|
||||
<br><br>
|
||||
</li>
|
||||
<li id="clients">
|
||||
<h3><u> Clients</u></h3>
|
||||
<span>Android
|
||||
<ul>
|
||||
<li><a href="httphttps://github.com/MatsuriDayo/NekoBoxForAndroid/">Nekobox</a></li>
|
||||
<li><a href="https://github.com/2dust/v2rayNG">v2rayNG</a></li>
|
||||
</ul>
|
||||
</span>
|
||||
<span>Linux
|
||||
<ul>
|
||||
<li><a href="https://github.com/Matsuridayo/nekoray">Nekoray</a></li>
|
||||
<li><a href="https://github.com/2dust/v2rayN">v2rayN</a></li>
|
||||
<li><a href="https://github.com/v2rayA/v2rayA">v2rayA</a></li>
|
||||
<li><a href="https://github.com/LorenEteval/Furious">Furious</a></li>
|
||||
</ul>
|
||||
</span>
|
||||
<span>Windows
|
||||
<ul>
|
||||
<li><a href="https://github.com/hiddify/HiddifyN">HiddifyN</a></li>
|
||||
<li><a href="https://github.com/2dust/v2rayN">v2rayN</a></li>
|
||||
</ul>
|
||||
</span>
|
||||
<p>
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
</p>
|
||||
</div>
|
||||
</div><!-- /row -->
|
||||
</div> <!-- /container -->
|
||||
</div><!-- /white -->
|
||||
|
||||
<div id="anon2">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-8 col-lg-offset-2">
|
||||
<h2><b>Serverside Setup</b></h2> </br> </br>
|
||||
<p>an overview of v2ray server config looks like this</p>
|
||||
<pre><code class="nim">
|
||||
{
|
||||
"log": {},
|
||||
"api": {},
|
||||
"dns": {},
|
||||
"stats": {},
|
||||
"routing": {},
|
||||
"policy": {},
|
||||
"inbounds": [],
|
||||
"outbounds": [],
|
||||
"transport": {}
|
||||
}</code></pre>
|
||||
|
||||
<p>Looking kinda complicated right, fear not we have Web-UI's to setup V2Ray servers.
|
||||
<mark>Web-UI aka "panels" </mark>could be used for user-management including traffic stats,uuid-generation and much more...
|
||||
</p>
|
||||
|
||||
</code>
|
||||
</pre>
|
||||
<ul>
|
||||
<li>
|
||||
<h3><u>Getting a VPS</u></h3>
|
||||
<p>
|
||||
refer to <a href="../anonymousremoteserver/index.html">Acquiring remote servers anonymously (non-KYC providers) </a>
|
||||
for buying a <b>VPS using XMR</b>
|
||||
</p>
|
||||
<br><br>
|
||||
</li>
|
||||
<li>
|
||||
<h3><u>Installing a panel</u></h3>
|
||||
<p>Once you have the VPS ready and have established an SSH connection,we can start working on installing panel.</p>
|
||||
<blockquote class="blockquote">
|
||||
we'll be using <b><a href="https://github.com/alireza0/x-ui">alireza0/x-ui</a></b> panel since its actively
|
||||
maintained, but you could also use <b><a href="https://github.com/MHSanaei/3x-ui">MHSanaei/3x-ui</a></b>
|
||||
.The v2ray server setup is same same for all.
|
||||
</blockquote>
|
||||
<p class="lead" style="white-space: pre-line">
|
||||
Supported distributions
|
||||
- Ubuntu 20.04+
|
||||
- Debian 11+
|
||||
- CentOS 8+
|
||||
- OpenEuler 22.03+
|
||||
- Fedora 36+
|
||||
- Arch Linux
|
||||
- Parch Linux
|
||||
- Manjaro
|
||||
- Armbian
|
||||
- AlmaLinux 8.0+
|
||||
- Rocky Linux 8+
|
||||
- Oracle Linux 8+
|
||||
- OpenSUSE Tumbleweed
|
||||
- Amazon Linux 2023</p>
|
||||
<p>
|
||||
<pre>
|
||||
<code class="nim">
|
||||
#> bash <(curl -Ls https://raw.githubusercontent.com/alireza0/x-ui/master/install.sh)
|
||||
....
|
||||
Would you like to customize the Panel Port settings? (If not, random port will be applied) [y/n]: y
|
||||
Please set up the panel port: 9566
|
||||
Your Panel Port is: 9566
|
||||
Port set successfully: 9566
|
||||
Username and password updated successfully
|
||||
Base URI path set successfully
|
||||
This is a fresh installation, generating random login info for security concerns:
|
||||
###############################################
|
||||
Username: fU8hjnoLSp
|
||||
Password: ak8jX44rZy
|
||||
Port: 9566
|
||||
WebBasePath: EwAJmwAHwMk7FLK
|
||||
###############################################
|
||||
If you forgot your login info, you can type 'x-ui settings' to check
|
||||
Start migrating database...
|
||||
Migration done!
|
||||
Created symlink '/etc/systemd/system/multi-user.target.wants/x-ui.service' → '/etc/systemd/system/x-ui.service'.
|
||||
x-ui v1.8.7 installation finished, it is up and running now...
|
||||
|
||||
|
||||
</code> </pre>
|
||||
The script asks for the port to use. we could change the port later.
|
||||
We could use the creds(Autogenerated) displayed above to access the webui
|
||||
|
||||
<pre><code class="nim">X-UI Control Menu Usage
|
||||
------------------------------------------
|
||||
SUBCOMMANDS:
|
||||
x-ui - Admin Management Script
|
||||
x-ui start - Start
|
||||
x-ui stop - Stop
|
||||
x-ui restart - Restart
|
||||
x-ui status - Current Status
|
||||
x-ui settings - Current Settings
|
||||
x-ui enable - Enable Autostart on OS Startup
|
||||
x-ui disable - Disable Autostart on OS Startup
|
||||
x-ui log - Check Logs
|
||||
x-ui update - Update
|
||||
x-ui install - Install
|
||||
x-ui uninstall - Uninstall
|
||||
x-ui help - Control Menu Usage
|
||||
------------------------------------------
|
||||
</code></pre>
|
||||
|
||||
In order to access the web UI, the url schema looks like this.
|
||||
<br>
|
||||
<code>http://server_ip:port/path</code>
|
||||
<br><br>
|
||||
<blockquote class="blockquote">
|
||||
You can use <b>x-ui settings</b> command to retrieve panel info, like port and path.
|
||||
<br>
|
||||
Ex-output:
|
||||
<br>
|
||||
###############################################
|
||||
Username: fU8hjnoLSp <br>
|
||||
Password: ak8jX44rZy <br>
|
||||
Port: 9566 <br>
|
||||
WebBasePath: EwAJmwAHwMk7FLK <br>
|
||||
###############################################
|
||||
</blockquote>
|
||||
<p class="lead" class="nim">Example
|
||||
http://198.41.128.88:9566/EwAJmwAHwMk7FLK/
|
||||
<br>Once you access the web portal,use the username and password as above.
|
||||
</p>
|
||||
</p>
|
||||
<br><br>
|
||||
</li>
|
||||
<li>
|
||||
<h3><u>Setting up the panel</u></h3>
|
||||
<div style="display: flex;flex-direction: column;">
|
||||
<img src="./login.png" width="50%" srcset="">
|
||||
<h5>
|
||||
after logging in switch to latest the xray-core
|
||||
</h5>
|
||||
<img src="./changexcore.png" width="100%" srcset="">
|
||||
</div>
|
||||
<p>In order to receive inbounds we must create an inbound rule within the panel.
|
||||
<br>
|
||||
We are choosing vmess (as protocol) + websocket (as trasport).
|
||||
copy the settings as below.
|
||||
<br>
|
||||
(you could change the port as of your liking)
|
||||
<blockquote class="blockquote">
|
||||
VLESS does not provide built-in encryption, avoiding it for now.
|
||||
<a href="https://xtls.github.io/en/config/inbounds/vless.html#vless">ref</a>
|
||||
NOTE: VMess Requires to have time synced up.
|
||||
</blockquote>
|
||||
<img src="./createib.png" width="100%">
|
||||
<br>
|
||||
Now you could try to connect to the server using QR Code or by using the vmess link.
|
||||
<br>
|
||||
(Click the QR to copy link)
|
||||
See <a href="#clients">Client Section</a>
|
||||
<br><br>
|
||||
<blockquote class="blockquote">
|
||||
a vmess link will look like vmess://<uuid>@<hostname>:<port>?<other_params>#<remarks>
|
||||
</blockquote>
|
||||
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<h3><u>Client Installation
|
||||
</u></h3>
|
||||
</li>
|
||||
We're installing <b>V2rayN</b> on linux, one could find the pre-build binaries in the releases section on github( <a href="https://github.com/2dust/v2rayN/releases">link</a> )
|
||||
<img src="./v2rayn_release.png" alt="" srcset="">
|
||||
<br>
|
||||
Extract, and run the client as follows
|
||||
<br>
|
||||
<pre>
|
||||
<code>
|
||||
$ unzip v2rayN-linux-64.zip
|
||||
...
|
||||
$ cd v2rayN-linux-64/
|
||||
$ chmod +x v2rayN
|
||||
$ ./v2rayN
|
||||
|
||||
</code>
|
||||
</pre>
|
||||
After executing the above command a GUI will popup.
|
||||
<br>
|
||||
change route settings (optional) within Settings(on top) > Regional Presets Settings > Russia
|
||||
<br>
|
||||
<br>
|
||||
<img src="./russia.png" alt="">
|
||||
<br>
|
||||
<br>
|
||||
<blockquote>
|
||||
Routing is used when you want to avoid proxy for regional websites.
|
||||
<br>
|
||||
(A direct connection without proxy will be made by the clientside app based-off IP or Domain name)
|
||||
</blockquote>
|
||||
<p class="lead">
|
||||
Ex. if we access 1tv.ru, with this setting turned on it will be resolved using our actual IP than our Proxy IP
|
||||
</p>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- /row -->
|
||||
</div> <!-- /container -->
|
||||
</div><!-- /white -->
|
||||
|
||||
|
||||
<!-- +++++ Second Post +++++ -->
|
||||
<div id="anon3">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-8 col-lg-offset-2">
|
||||
<h2><b>Censorship Evasion technique #1 - Domain Fronting</b></h2>
|
||||
<br><br>
|
||||
<p>
|
||||
Setting up a v2ray server alone doesnt bypass any censors(it would be obvious if we push a large amount of traffic),rather we use some methods to make the traffic look geniune.
|
||||
<br>One such method is called <b>Domain Fronting</b>
|
||||
<br>
|
||||
<img src="./domainfronting_diagram.png" width="100%">
|
||||
<br><br>
|
||||
We will be using Fastly, since it offers a free CDN without CreditCard + 30-day Websocket support(free-trial)
|
||||
<br>
|
||||
Start by creating an account at <a href="http://fastly.com">Fastly</a>
|
||||
<br>
|
||||
<img src="./fastly_newacc.png" width="50%">
|
||||
<br>
|
||||
Create a new cdn service like this
|
||||
<br>
|
||||
<img src="./cdn_newservice.png" width="50%">
|
||||
<blockquote class="blockquote">
|
||||
In here we can <b>use any domain name</b> since its for internal routing within cdn.
|
||||
<br>
|
||||
(meaning that within the CDN domain zero-google.com will resolve to our v2ray IP )
|
||||
<br>
|
||||
<b>origin</b> willbe our v2ray inbound IP
|
||||
</blockquote>
|
||||
<br>
|
||||
then select the cdn name to edit the config
|
||||
<br>
|
||||
<img src="./cdn_edit.png" width="80%">
|
||||
<br><br>
|
||||
We edit the CDN config to change the port of our host and disable some settings that may cause issues
|
||||
<br>
|
||||
<img src="./cdn_host_change.png" width="100%">
|
||||
<br>
|
||||
After that we change the port from 443 to 53254 (The port we used for receiving inbounds in our v2ray panel)
|
||||
<img src="./cdn_host_tls_port.png" width="100%">
|
||||
<br><br>
|
||||
<blockquote class="blockquote">
|
||||
We can do inbounds to port 443(TLS port) and adjust inbound settings to have <b>Fallback</b> but that requires one to have an inbound config with TCP transport within the panel.
|
||||
|
||||
</blockquote>
|
||||
<p class="lead">
|
||||
A Fallback is when you want to expose only one standard HTTP/HTTPS port(80,443) to receive inbounds but want to use different protocols like VMESS,Shadowsock... with the same port.
|
||||
<br>
|
||||
Fallback Can only be used with TCP/XTLS transport modes.
|
||||
<br>
|
||||
|
||||
|
||||
</p>
|
||||
<br><br>
|
||||
|
||||
Now from Settings >>
|
||||
<img src="./cdn_settings.png">
|
||||
<br>
|
||||
we enable websocket.
|
||||
<br>
|
||||
<img src="./ws_disabled.png">
|
||||
Start the trial and it should look something like this
|
||||
<br>
|
||||
<img src="./ws_enabled.png">
|
||||
<br>
|
||||
Now lets add VCL for HTTP Connection Upgrade(Since we want to switch to Websocket)
|
||||
<img src="./vcl.png" width="100%">
|
||||
<br>
|
||||
<img src="./upgr.png" width="100%">
|
||||
<pre><code class="nim">
|
||||
if (req.http.Upgrade) {
|
||||
return (upgrade);
|
||||
}
|
||||
</code>
|
||||
</pre>
|
||||
|
||||
</p>
|
||||
</div>
|
||||
</div><!-- /row -->
|
||||
</div> <!-- /container -->
|
||||
</div><!-- /white -->
|
||||
<div id="anon2">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-8 col-lg-offset-2">
|
||||
<h2><b>Clientside Setup</b></h2>
|
||||
In this section we'll discuss how to connect to the prementioned setup using domain fronting technique.
|
||||
<ul>
|
||||
<li>
|
||||
<h3><u>Linux</u></h3>
|
||||
<p>
|
||||
Copy the server config from panel(by clicking the qr-code) to clipboard.
|
||||
<br>
|
||||
Open client app(v2rayN/nekoray)
|
||||
<br>
|
||||
Ctrl + V
|
||||
<br>
|
||||
and edit it as follows.
|
||||
<br>
|
||||
For testing in Linux we are using v2rayN
|
||||
</p>
|
||||
<img src="./test_vmess.png" alt="">
|
||||
<br><br>
|
||||
click <b>Confirm</b>
|
||||
<br><br>
|
||||
If the connection was successful you'll see your server IP along with delay(ms) in the logs as well as on bottom right corner like this.
|
||||
<img src="./connect_success.png" width="100%">
|
||||
<br>
|
||||
You could toggle System Proxy to check connectivity, within browser and all.
|
||||
<br>
|
||||
<img src="./system_proxy.png" alt="">
|
||||
<br>
|
||||
<br>
|
||||
</li>
|
||||
</ul>
|
||||
<h2><b>Testing Tor</b></h2>
|
||||
<p>
|
||||
<br><br>
|
||||
go to
|
||||
<b>about:preferences#connection</b>
|
||||
change proxy settings as follows.
|
||||
<br>
|
||||
(Proxy port shown in v2ray.
|
||||
So that connection made by tor will go through v2ray server)
|
||||
|
||||
<img src="./tor_proxy_settings.png" width="100%">
|
||||
<br>
|
||||
<blockquote>
|
||||
If we were to save it and try to connect <b>it will fail</b>.
|
||||
(connection died in state handshaking).
|
||||
<b>So enable Bridges</b>
|
||||
</blockquote>
|
||||
Set Bridges of Your Choice
|
||||
<br>
|
||||
<img src="./bridge.png" width="100%">
|
||||
<br>
|
||||
<br><br>
|
||||
This is how the traffic leaves the system.
|
||||
<br>
|
||||
<img src="./ws_traffic.png" width="100%">
|
||||
<br><br>
|
||||
As you could see, traffic goes to fastly server rather than tor nodes.
|
||||
<br>(You're seeing Websocket traffic to and from 192.168.1.2(LAN IP) to a Fastly CDN(Anycast IP))
|
||||
<br>
|
||||
<img src="./test_tor.png" width="100%">
|
||||
<p>And that's it! we managed to connect to an onion website, from a heavily-censored country, thanks to v2ray.</p>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- +++++ Footer Section +++++ -->
|
||||
|
||||
<div id="anonb">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-4">
|
||||
<h4>Nihilism</h4>
|
||||
<p>
|
||||
Until there is Nothing left.</p></br></br>
|
||||
<p>Creative Commons Zero: No Rights Reserved</br><img src="\CC0.png">
|
||||
|
||||
</p>
|
||||
</div><!-- /col-lg-4 -->
|
||||
|
||||
<div class="col-lg-4">
|
||||
<h4>My Links</h4>
|
||||
<p>
|
||||
|
||||
<a target="_blank" rel="noopener noreferrer" href="http://blog.nowhere.moe/rss/feed.xml">RSS Feed</a><br /><a target="_blank" rel="noopener noreferrer" href="https://simplex.chat/contact#/?v=2-7&smp=smp%3A%2F%2FL5jrGV2L_Bb20Oj0aE4Gn-m5AHet9XdpYDotiqpcpGc%3D%40nowhere.moe%2FH4g7zPbitSLV5tDQ51Yz-R6RgOkMEeCc%23%2F%3Fv%3D1-3%26dh%3DMCowBQYDK2VuAyEAkts5T5AMxHGrZCCg12aeKxWcpXaxbB_XqjrXmcFYlDQ%253D&data=%7B%22type%22%3A%22group%22%2C%22groupLinkId%22%3A%22c3Y-iDaoDCFm6RhptSDOaw%3D%3D%22%7D">SimpleX Chat</a><br />
|
||||
|
||||
</p>
|
||||
</div><!-- /col-lg-4 -->
|
||||
|
||||
<div class="col-lg-4">
|
||||
<h4>About Zer0</h4>
|
||||
<p style="word-wrap: break-word;"><u>Donate XMR:</u> 42wqdQbr4QBSU4BVKkoAANENY6SDzbdib8mUmNBybYAePfkVzmcQKyGNuJ3GbFr4S9fsQaWQB9gxnip611poq89f1ETjK9R</p></br>
|
||||
</div><!-- /col-lg-4 -->
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Bootstrap core JavaScript
|
||||
================================================== -->
|
||||
<!-- Placed at the end of the document so the pages load faster -->
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
BIN
productivity/mentalopti/20.png
Normal file
After Width: | Height: | Size: 607 KiB |
BIN
productivity/mentalopti/21.png
Normal file
After Width: | Height: | Size: 461 KiB |
BIN
productivity/mentalopti/22.png
Normal file
After Width: | Height: | Size: 292 KiB |
BIN
productivity/mentalopti/23.png
Normal file
After Width: | Height: | Size: 310 KiB |
BIN
productivity/mentalopti/24.png
Normal file
After Width: | Height: | Size: 760 KiB |
BIN
productivity/mentalopti/25.png
Normal file
After Width: | Height: | Size: 1.2 MiB |
BIN
productivity/mentalopti/26.png
Normal file
After Width: | Height: | Size: 763 KiB |
BIN
productivity/mentalopti/27.png
Normal file
After Width: | Height: | Size: 480 KiB |
BIN
productivity/mentalopti/28.png
Normal file
After Width: | Height: | Size: 1.3 MiB |
BIN
productivity/mentalopti/30.png
Normal file
After Width: | Height: | Size: 116 KiB |
BIN
productivity/mentalopti/31.png
Normal file
After Width: | Height: | Size: 59 KiB |
BIN
productivity/mentalopti/32.png
Normal file
After Width: | Height: | Size: 306 KiB |
|
@ -184,6 +184,210 @@ PING youtube.com (127.0.0.1) 56(84) bytes of data.
|
|||
|
||||
|
||||
<p>And that's it! Now <a href="../opus-nihil/index.html">stop going around in circles</a>, and get back to doing what truly matters to you!</p>
|
||||
</div>
|
||||
</div><!-- /row -->
|
||||
</div> <!-- /container -->
|
||||
</div><!-- /white -->
|
||||
|
||||
<div id="productivity3">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-8 col-lg-offset-2">
|
||||
<h2><b>Tiling Window Managers</b></h2> </br> </br>
|
||||
<p>Tying back to the workspace management, you can have a tiling window manager where you can manage the applications you open and move around on your desktop using only the keyboard.</p>
|
||||
<p>To achieve this i recommend using the i3 window manager like so:</p>
|
||||
<pre><code class="nim">
|
||||
nothing@debian:~$ su -
|
||||
Password:
|
||||
root@debian:~# apt install i3 -y
|
||||
|
||||
</pre></code>
|
||||
<p>once installed, (since you are probably not already in i3, but rather in an other window manager like cinnamon) you can simply go back to the login screen by logging out or by running this command:</p>
|
||||
<pre><code class="nim">
|
||||
root@debian:~# systemctl restart lightdm
|
||||
|
||||
</pre></code>
|
||||
<img src="20.png" class="imgRz">
|
||||
<img src="21.png" class="imgRz">
|
||||
<img src="22.png" class="imgRz">
|
||||
<p>From there you can start to edit the i3 config from a terminal (that you open with the shortcut Win+ENTER):</p>
|
||||
<img src="23.png" class="imgRz">
|
||||
<pre><code class="nim">
|
||||
nothing@debian:~$ vim ~/.config/i3/config
|
||||
|
||||
</pre></code>
|
||||
<p>From here you can customize just about anything you want, from the shortcuts, to the colors used and the apps that are launched upon startup. Here are the main shortcuts that you need to remember:</p>
|
||||
<pre><code class="nim">
|
||||
#my Modkey is the windows key (Mod4), it's at the very top of my i3config file.
|
||||
|
||||
#Change workspaces :
|
||||
-Mod+1234567890
|
||||
|
||||
#Change focus to next window :
|
||||
-Mod+Arrow
|
||||
|
||||
#KILL the window:
|
||||
-Mod+Shift+Q
|
||||
|
||||
#Toggle Vertical/Horizontal layout :
|
||||
-Mod+V or H (and then move/create a window where you put the V/H mode)
|
||||
|
||||
#Move window in the workspace :
|
||||
-Mod+Shift+Arrow
|
||||
|
||||
#Move window to workspace:
|
||||
-Mod+Shift+12345647890
|
||||
|
||||
#Create Terminal window:
|
||||
-Mod+Enter
|
||||
|
||||
#open any application:
|
||||
-Mod+d
|
||||
(type application name)
|
||||
ENTER
|
||||
|
||||
#Toggle floating mode on a window:
|
||||
-Mod+Space
|
||||
|
||||
#Enter resize mode:
|
||||
-Mod+R
|
||||
-then Arrows to resize
|
||||
-then ESC to exit resize mode
|
||||
|
||||
</pre></code>
|
||||
</div>
|
||||
</div><!-- /row -->
|
||||
</div> <!-- /container -->
|
||||
</div><!-- /white -->
|
||||
|
||||
<div id="productivity2">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-8 col-lg-offset-2">
|
||||
<h2><b>My Productivity Setup</b></h2> </br> </br>
|
||||
|
||||
<p> I customized this quite a bit myself, while still trying to remain minimalistic about it, you can find my dotfiles <a href="http://git.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion/nihilist/dotfiles">here</a>. In order to get my customized setup quickly i have made those 2 scripts: </p>
|
||||
|
||||
<p>First script to setup i3 and the GUI apps i want (drawio, torbrowser, mullvad-browser, simplex chat, keepassxc):</p>
|
||||
<pre><code class="nim">
|
||||
nothing@debian:~$ su -
|
||||
root@debian:~# usermod -aG sudo nothing
|
||||
root@debian:~# reboot now
|
||||
|
||||
nothing@debian:~$ sudo apt install git tor torsocks -y
|
||||
nothing@debian:~$ torsocks git clone http://git.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion/nihilist/dotfiles
|
||||
nothing@debian:~$ cd dotfiles
|
||||
nothing@debian:~$ chmod +x ./debiansetup.sh
|
||||
|
||||
nothing@debian:~$ ./debiansetup.sh
|
||||
(let it run, and put your sudo passwords when it asks for it)
|
||||
|
||||
</pre></code>
|
||||
<p>And i have this other script here to setup my terminal how i want it to be with the CLI apps i use (zsh, tmux, ohmytmux, ranger, and vim):</p>
|
||||
<pre><code class="nim">
|
||||
nothing@debian:~$ ./terminalsetup.sh
|
||||
(let it run too, and put your sudo passwords when it asks for it)
|
||||
|
||||
</pre></code>
|
||||
<p>Do put your user's password whenever it asks for it, and once they finish running you can reboot your debian OS to see the changes:</p>
|
||||
<pre><code class="nim">
|
||||
nothing@debian:~$ sudo reboot now
|
||||
|
||||
</pre></code>
|
||||
<p>And then once it reboots you login as usual into i3, i3 will launch all the applications automatically by using the <b>~/.config/i3/startapps.sh script</b>. For me my apps i launch automatically are as follows:</p>
|
||||
<img src="24.png" class="imgRz">
|
||||
<img src="25.png" class="imgRz">
|
||||
<img src="26.png" class="imgRz">
|
||||
<p>for the actual blogwriting i like to use ranger as it helps me browse quickly to find the folders i want:</p>
|
||||
<pre><code class="nim">
|
||||
[ mainpc-privateVM ] [ /dev/pts/6 ] [~/Nextcloud/blog]
|
||||
→ ranger
|
||||
|
||||
</pre></code>
|
||||
<p>in ranger you can do <b>/</b> to search for a keyword, like <b>/v2ray</b> and then press ENTER and ranger will immediately find it for you:</p>
|
||||
<img src="30.png" class="imgRz">
|
||||
<p>Then once you select the html file you need, you can hit enter and it will put you in Vim directly to edit it:</p>
|
||||
<img src="31.png" class="imgRz">
|
||||
<p>as we are in a tmux terminal, we can have multiple terminal prompts at once, this is also a very useful productivity tool when you do alot of CLI work like me:</p>
|
||||
<img src="32.png" class="imgRz">
|
||||
<p>For all the tmux shorcuts to remember you can use this sheet:</p>
|
||||
<pre><code class="nim">
|
||||
#enter tmux:
|
||||
tmux
|
||||
|
||||
#CTRL+b is the default tmux keybind to start any tmux action.
|
||||
#to cancel it just press ESC
|
||||
|
||||
#WINDOWS
|
||||
#Create a new window:
|
||||
CTRL+b c
|
||||
|
||||
#kill current window:
|
||||
CTRL+b &
|
||||
|
||||
#Rename Window
|
||||
Ctrl+B ,
|
||||
|
||||
#Goto window:
|
||||
CTRL+b 123456789
|
||||
|
||||
#Browse the tmux sessions (windows and panes)
|
||||
CTRL+b W
|
||||
|
||||
#PANES (contained within windows) :
|
||||
#split vertically or horizontally (this is creating panes basically):
|
||||
#CTRL+b "
|
||||
#CTRL+b %
|
||||
|
||||
#Change pane focus:
|
||||
CTRL+b Arrow
|
||||
|
||||
#Cycle Panes:
|
||||
CTRL+B o
|
||||
|
||||
#Cycle Move panes:
|
||||
CTRL+B CTRL+O
|
||||
|
||||
#Move pane into new window:
|
||||
CTRL+B !
|
||||
|
||||
#Resize Pane:
|
||||
CTRL+b CTRL+Arrow
|
||||
|
||||
#close pane:
|
||||
CTRL+b x
|
||||
|
||||
#display pane numbers:
|
||||
CTRL+b q
|
||||
|
||||
#COPY AND PASTE
|
||||
CTRL+b [ (to enter copy mode, or PageUP to place the cursor farther up)
|
||||
-> and then just click and drag to whatever text you want to copy
|
||||
arrow keys (to place the cursor where you need it (or PageUP/PageDN))
|
||||
CTRL+Space (and then move the cursor to select the lines you need)
|
||||
CTRL+W (to copy your selection into the buffer)
|
||||
|
||||
CTRL+SHIFT+V (to paste your selection)
|
||||
SHIFT+insert (to paste your selection)
|
||||
|
||||
CTRL+B [
|
||||
then CTRL+S (Search Pattern downward)
|
||||
then Enter
|
||||
then hit n to cycle through the results
|
||||
|
||||
CTRL+B [
|
||||
then CTRL+R (Search Pattern upward)
|
||||
then Enter
|
||||
then hit n to cycle through results
|
||||
|
||||
CTRL+B f (find window based on what's displayed in it)
|
||||
|
||||
</pre></code>
|
||||
|
||||
<p>And there you have the last 2 workspaces, one for payments and accesses, and the last one being for distractions:</p>
|
||||
<img src="27.png" class="imgRz">
|
||||
<img src="28.png" class="imgRz">
|
||||
<p>And that's it! you now have a completely tuned-up productivity setup like mine.</p>
|
||||
|
||||
</div>
|
||||
</div><!-- /row -->
|
||||
|
|
Before Width: | Height: | Size: 512 KiB After Width: | Height: | Size: 1.1 MiB |