-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
285 lines (254 loc) · 17.9 KB
/
index.html
File metadata and controls
285 lines (254 loc) · 17.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
<html>
<head>
<title>OS Checklist - A dynamic checklist to help set up computers</title>
<link rel="stylesheet" href="css/pure-min-0.6.0.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css">
<link rel="stylesheet" href="css/style.css">
<script>
if (!String.prototype.format) {
String.prototype.format = function() {
var args = arguments;
return this.replace(/{(\d+)}/g, function(match, number) {
return typeof args[number] != 'undefined' ? args[number] : match ;
});
};
}
var version = 0; // later will be used in conjunction with load() to update invalid save data
var Tasks = [
["", "Install the browser you will be using for this list. Or open this on another computer (and wipe the saved data, if present).<br />(<a href='https://www.mozilla.org/en-US/firefox/new/?scene=2#download-fx'>Firefox</a>, <a href='https://www.google.com/chrome/'>Chrome</a>, <a href='http://www.opera.com/'>Opera</a>, <a href='https://www.waterfoxproject.org/'>Waterfox</a>, <a href='https://www.torproject.org/projects/torbrowser.html.en'>Tor Browser</a> (warning: you'll end up on a watchlist and may not be able to download all the programs you want to))"],
["", "Set up username and password."],
["", "Windows 7?", [
["", "Get <a href='https://www.microsoft.com/en-us/windows/windows-10-upgrade'>Windows 10</a>?<br />While generally a smoother and more up-to-date OS, 10 suffers from a glitchy settings system, broken updating, and a system that likes pop-ups, distractions, and other annoying stuff™."],
["", "Don't want anything in your network except what you use? Install <a href='http://tinywall.pados.hu/download.php'>TinyWall</a>, and only allow the programs you actually use to work."]
]],
["", "Windows 10", [
["", "Skip connecting to WiFi (or do it)."],
//["", "<b>CUSTOMIZE</b> settings. Do not accept recommended settings (very privacy invasive).<br />Alternately, use <a href='http://downloadserver4.novicorp.com/ded5f59811726173/Novicorp%20Remove%20Windows%2010%20Spying%20Features%201.2.0000%20Portable.zip'>this anti-spyware tool</a> (<a href='https://wintoflash.com/forum/viewtopic.php?f=7&t=42295'>source</a>) later."],
["", "Stop Windows spying on you?", [
["", "First, get <a href='http://downloadserver4.novicorp.com/ded5f59811726173/Novicorp%20Remove%20Windows%2010%20Spying%20Features%201.2.0000%20Portable.zip'>this anti-spyware tool</a> (<a href='https://wintoflash.com/forum/viewtopic.php?f=7&t=42295'>source</a>) to fix certain key settings and disable spying services."],
["", "(Optionally) Then, install <a href='http://tinywall.pados.hu/download.php'>TinyWall</a>, and only allow the programs you actually use to network."]
]],
["", "Remove tiles from Start Menu (or at least the ones you don't want)."],
["", "Uninstall tiles (apps) from Star Menu->All Apps that you don't want. (Alternately, if you really want to get rid of these, use <a href=''>this anti-spyware's uninstaller</a> (<a href='https://wintoflash.com/forum/viewtopic.php?f=7&t=42295'>source</a>).)"],
["", "Link Microsoft account?"],
["", "Looking to find replacements for shitty default apps?", [
["", "Image viewers: <a href='http://www.irfanview.com/main_download_engl.htm'>IrfanViewer</a>, <a href='http://www.howtogeek.com/225844/how-to-make-windows-photo-viewer-your-default-image-viewer-on-windows-10/'>restore win7 photo viewer</a>"],
["", "Music players: <a href='https://www.foobar2000.org/download'>foobar2000</a>"],
["", "Video players: <a href='https://www.videolan.org/vlc/download-windows.html'>VLC</a>"]
]]
]],
//NOTE this section kinda unnecessary
["", "Is it an HP? <sub>I'm so sorry.</sub>", [
["", "Uninstall HP crapware."],
["", "Uninstall anything you don't want (except Microsoft, Intel, RealTek items, & Synaptics (driver) if it's a laptop).<br />(Be careful with this if you don't know what you're doing!)"],
["", "Uninstall Norton/McAfee malware..unless you want that kind of thing.<br />(If removing McAfee, don't forget <a href='http://us.mcafee.com/apps/supporttools/mcpr/mcpr.asp'>this tool</a> to completely remove everything (<a href='https://service.mcafee.com/webcenter/portal/cp/home/articleview?articleId=TS101331'>source</a>).)"]
]],
["", "Uninstall bloatware."],
["", "Install anti-malware?", [
["", "<a href='http://free.antivirus.com/us/#cleanup-and-prevention'>Trend Micro's software</a> (several useful tools located here).<br />(At time of writing, I recommend HouseCall & <a href='http://sourceforge.net/projects/hjt/'>HiJack This</a>.)"],
["", "Not on Windows 10?", [
//TODO linkify this list of antivirus and add more!
["", "Install antivirus! (Specially, check out Microsoft's own <a href='http://windows.microsoft.com/en-us/windows/security-essentials-download'>Security Essentials</a>, or your own favorite brand: AVG, Malwarebytes, Avast)"]
]]
]],
["", "Install programs?", [
["", "Dropbox?", [
["", "Okay, now go remove it from autoplay."],
["", "Plug in a USB / Take a screenshot with print screen. (So you can cancel its popups and get rid of them.)"]
//NOTE may need to also use CD, SD, etc to get rid of all that crap
]],
["", "Password manager/database?", [
["", "<a href='http://keepass.info/download.html'>KeePass</a>?"]
//TODO add LastPass here
]],
["", "Utilites? (Launchers, Stats, Other)", [
["", "<a href='http://www.7-zip.org/'>7-zip</a> (none of that shitty <a href='http://www.rarlab.com/download.htm'>WinRAR</a> in here)<br /><b>Note</b>: Does not create a .7z file association."],
//TODO list more torrent clients
["", "Torrent client: The best is <a href='http://www.fosshub.com/qBittorrent.html'>qBittorrent</a>, but there's also INSERT LIST HERE"],
["", "<a href='https://www.piriform.com/ccleaner/download'>CCleaner</a><br />(Crap cleaner: Cleans registry, cookies, various deitrus that builds up when using Windows.)"],
["", "Quick launcher? (<a href='http://www.launchy.net/download.php'>Launchy</a>, <a href='http://rocketdock.com/download'>RocketDock</a>)"],
["", "<a href='https://www.piriform.com/speccy'>Speccy</a>? Find info about drivers, PC specs, etc, all with one tool!"],
["", "<a href='http://www.fosshub.com/WinDirStat.html'>WinDirStat</a> gives an intuitive, accurate view of what's on your PC and how much space it's taking up."],
["", "<a href='https://www.teamviewer.com/en/download/windows.aspx'>TeamViewer</a>, for remote access from here to there, or there to here."]
]],
["", "Office stuff? (<a href='https://www.libreoffice.org/download/'>LibreOffice</a>, <a href='https://portal.office.com/Home'>Office 365</a>)"],
["", "Programming / dev tools?", [
//TODO remove the notes about suggesting a new thing, and add permanently displayed note about this!
["", "Editor? (<a href='https://atom.io/'>Atom</a>, <a href='https://notepad-plus-plus.org/download/'>Notepad++</a>, <a href='https://www.sublimetext.com/2'>Sublime Text</a>)<br />(Submit an <a href='https://github.com/oschecklist/oschecklist.github.io/issues/new'>issue</a> to have one added to this list?)"],
["", "VCS tools? (<a href='https://git-scm.com/download/'>Git</a>, <a href='https://desktop.github.com/'>GitHub Desktop</a>, <a href='https://git-scm.com/downloads/guis'>other git guis</a>)<br />(Submit an <a href='https://github.com/oschecklist/oschecklist.github.io/issues/new'>issue</a> to have one added to this list?)"]
]]
["", "Gaming software?", [
["", "Install <a href='http://store.steampowered.com/about/'>Steam</a>!"],
["", "Install <a href='https://www.origin.com/en-us/download'>Origin</a>?"],
["", "Install <a href='https://itch.io/app'>Itch.io's app</a>!"],
["", "Install <a href='http://www.desura.com/install'>Desura</a>? (Which may or may not exist.)"]
]],
["", "Communications software: <a href='https://www.teamspeak.com/downloads'>TeamSpeak</a>, <a href='https://discordapp.com/apps'>Discord</a>, <a href='https://www.skype.com/en/download-skype/skype-for-computer/'>Skype</a>"],
["", "Image viewing / editing software?", [
["", "<a href='http://www.irfanview.com/main_download_engl.htm'>IrfanViewer</a> (image viewing++)"],
["", "<a href='http://www.dotpdn.com/downloads/pdn.html'>Paint.NET</a> (MS Paint++)"],
["", "<a href='https://www.gimp.org/downloads/'>The GIMP</a> editor. Lots of tools for image editing."]
]],
["", "Audio programs (listen/edit)", [
["", "<a href='https://www.foobar2000.org/download'>foobar2000</a>? (And plugins? <a href='http://skipyrich.com/wiki/Foobar2000:Now_Playing_Simple'>Now Playing Simple</a> (for livestreaming w music), <a href='http://www.unkempt.co.uk/fb2k/foo_podcatcher.html'>foo_podcatcher</a> (podcasts))"],
["", "<a href='https://www.videolan.org/vlc/download-windows.html'>VLC</a> is also a music player."],
["", "<a href='http://audacityteam.org/download/windows'>Audacity</a>? (Plus <a href='http://lame.buanzo.org/#lamewindl'>LAME (Lame for Windows.exe)</a> (for MP3 export) and <a href='http://lame.buanzo.org/#lamewindl'>FFmpeg (FFmpeg for Audacity on Windows.exe)</a> (for importing audio from MP4..and for other formats))"],
["", "<a href='http://www.apple.com/itunes/download/'>iTunes</a>? (Ewww...)"]
]],
["", "Video programs (watch/edit)", [
["", "<a href='https://www.videolan.org/vlc/download-windows.html'>VLC</a> for playing video/audio."],
["", "<a href='https://sites.google.com/site/deezja/tools/twitch-multi-stream-viewer'>Twitch Multi-Stream Viewer</a> does exactly what it says, and also has a downloader, and search, and some other features."]
]],
["", "Livestreaming?", [
["", "<a href='https://obsproject.com/'>Open Broadcaster Software</a> is essential."],
["", "<a href='https://sites.google.com/site/deezja/tools/teeboard'>TeeBoard</a> has a bunch of tools for managing on Twitch and adding things to your stream."],
["", "If you use foobar2000 for playing audio, <a href='http://skipyrich.com/wiki/Foobar2000:Now_Playing_Simple'>Now Playing Simple</a> will let you put what you're playing on the stream."]
]]
]],
["", "Turn autoplay off (unless you want that).<br />(On Windows 10: Settings->Devices->AutoPlay)"],
["", "Delete those pesky desktop shortcuts you've accumulated by now."]
];
//TODO add a thing that goes if "" -> "default.png"
var Save = {
version: 0,
current: [0],
skipped: [],
ignored: []
};
function load() {
var loaded = localStorage.getItem("oschecklist");
if (loaded != null) {
Save = JSON.parse(loaded);
console.log("Task data loaded:");
console.log(Save);
} else {
console.log("Task data not loaded (doesn't exist or invalid).");
}
}
function save() {
var saveable = JSON.stringify(Save);
localStorage.setItem("oschecklist", saveable);
console.log("Saved task data.")
}
function getTask() {
var task = Tasks[Save.current[0]]; //no preceding 2
if (task === undefined) {
return ["icon.png", "All tasks complete!"];
}
for (var i = 1; i < Save.current.length; i++) {
task = task[2][Save.current[i]];
}
console.log("Got task:");
console.log(task);
return task;
}
function getNextTask() {
Save.current[Save.current.length - 1]++;
var task = Tasks[Save.current[0]]; //no preceding 2
if (task === undefined) {
return ["icon.png", "All tasks complete!"];
}
for (var i = 1; i < Save.current.length; i++) {
if (task[2][Save.current[i]] !== undefined) {
task = task[2][Save.current[i]];
} else {
Save.current.pop();
return getNextTask();
}
}
console.log("Got (next) task:");
console.log(task);
return task;
}
function display(task) {
if ((task.length == 2) && ! (task[1] == "All tasks complete!")) {
document.getElementById("current").innerHTML = "<td style='width:10%;'><button class='pure-button button-complete' onclick='javascript:completeTask();' title='Task complete.'><span class='fa fa-check'></span></button></td><td class='task'><img src='{0}'><p>{1}</p></td><td style='width:10%;'><button class='pure-button button-later' onclick='javascript:skipTask();' title='Do this later.'><span class='fa fa-clock-o'></span></button></td><td style='width:10%;'><button class='pure-button button-ignore' onclick='javascript:ignoreTask();' title='I\'m not doing this.'><span class='fa fa-times'></span></button></td>".format(task[0], task[1]);
} else {
document.getElementById("current").innerHTML = "<td style='width:10%;'><button class='pure-button button-complete' onclick='javascript:completeTask();' title='I\'m doing this.'><span class='fa fa-check'></span></button></td><td colspan='2' class='task'><img src='{0}'><p>{1}</p></td><td style='width:10%;'><button class='pure-button button-ignore' onclick='javascript:ignoreTask();' title='I\'m not doing this.'><span class='fa fa-times'></span></button></td>".format(task[0], task[1]);
}
console.log("Displayed task:");
console.log(task);
}
function completeTask() {
console.log("Completing task:");
console.log(getTask());
if (getTask()[2] !== undefined) {
// if question -> do question
Save.current.push(0);
display(getTask());
} else {
// else -> next
display(getNextTask());
}
}
function ignoreTask() {
console.log("Ignoring task:");
console.log(getTask());
// we only save ignored questions
// (so updates to the question doesn't give us new tasks we don't want)
if (getTask()[2] !== undefined) {
Save.ignored.push(Save.current);
}
display(getNextTask());
}
var nextID = 0; // used in skipTask() and lateTask()
function skipTask() {
var id = "id" + nextID++;
Save.skipped.push([id, Save.current]);
console.log("Skipping task:");
var task = getTask();
console.log(task);
var skipped = document.createElement("tr");
skipped.setAttribute("id", "id" + id);
skipped.innerHTML = "<td style='width:10%;'><button class='pure-button button-complete' onclick='javascript:lateTask({0});' title='Task complete.'><span class='fa fa-check'></span></button></td><td colspan='2' class='task'><img src='{1}'><p>{2}</p></td><td style='width:10%;'><button class='pure-button button-ignore' onclick='javascript:lateTask({0});' title='I\'m not doing this.'><span class='fa fa-times'></span></button></td>".format("id" + id, task[0], task[1]);
document.getElementById("skipped").appendChild(skipped);
display(getNextTask());
}
function lateTask(id) {
console.log("Removing late task...");
// take off of our list
for (var i = 0; i < Save.skipped.length; i++) {
if (Save.skipped[i][0] == id) {
Save.skipped.splice(i, 1);
break;
}
}
// remove element with specified ID
var element = document.getElementById(id);
element.parentNode.removeChild(element);
console.log("Task data:");
console.log(Save);
}
window.onload = function() {
setTimeout(function() {
load();
display(getTask());
}, 1);
/*
if (window.addEventListener) {
window.addEventListener("storage", handleStorage, false);
} else {
window.attachEvent("onstorage", handleStorage);
}
*/
};
window.onunload = function() {
//save(); //disabled until ready for testing
}
</script>
</head>
<body>
<table class="pure-table pure-table-horizontal centered">
<tbody>
<tr>
<th colspan="4">Current Task:</th>
</tr>
<tr id="current"></tr>
<tr>
<th colspan="4">Skipped Tasks:</th>
</tr>
</tbody>
<tfoot id="skipped"></tfoot>
</table>
</body>
</html>