Binary Options Hack - Forex Robot Nation

TFW you find a Pokemon ROM hack with a non-binary character option!

TFW you find a Pokemon ROM hack with a non-binary character option! submitted by girlwithaguitar to traaaaaaannnnnnnnnns [link] [comments]

Inspiral Carpets hacked, leads to The Quantum Code binary options spam

Inspiral Carpets hacked, leads to The Quantum Code binary options spam submitted by mrbyte72 to Malware_Domains [link] [comments]

Bluehole - Let's talk Wellbia/XINGCOD3 user privacy risks for the sake of transparency

For those who don't know..
XINGCODE-3 is a kernel (ring0) privillege process under xhunter1.sys owned by the Korean company Wellbia (www.wellbia.com). Unlike what people say, Wellbia isn't owned or affiliated with Tencent, however, XINGCOD3 is custom designed contractor for each individual game - mainly operating in the APAC region, many of them owned by Tencent.
XINGCODE-3 is outsourced to companies as a product modified to the specific characteristics of the game. The process runs on the highest privilegied level of the OS upon boot and is infamous for being an essential rootkit - on a malware level, it has the highest vulnerability to be abused should Wellbia or any of the 3rd Party Companies be target of an attack.
It has been heavily dissected by the hacking community as being highly intrusive and reversed engineered (although nowadays still easily bypassable by a skilled and engaged modder by created a custom Win Framework).
While most is true for a standard anti-cheating, users should be aware that XINGCOD3 able to scan the entire user memory cache, calls for DLL's, including physical state API's such as GetAsyncKeyState where it scans for the physical state of hardware peripherals, essentially becoming a hardware keylogger. Studying the long history of reverse engineering of this software has shown that Wellbia heavily collects user data for internal processing in order to create whitelists of processes and strings analyzed by evaluating PE binaries - having full access to your OS it also is known to scan and having access to user file directories and collecting and storing paths of modified files under 48 hours for the sake of detecting possible sources of bypassing.
All this data is ultimately collected by Wellbia to their host severs - also via API calls to Korean servers in order to run services such as whitelists, improve algorithm accuracy and run comparative statistics and analysis based on binaries, strings and common flags.
Usually this is a high risk for any service, including BattleEye, EasyAntiCheat, etc. but what's worrying in Wellbia, thus. Bluehole's are actually a couple of points:
(not to mention you can literally just deny the service from installing, which by itself is already a hilarious facepalm situation and nowhere does the TSL call for an API of the service)
  1. Starting off, Wellbia is a rather small development company with having only one product available on the market for rather small companies, the majority hold by Chinese government and countries where the data handling, human rights and user privacy is heavily disregarded. This makes my tinfoil hat think that the studio's network security isn't as fortified as a Sony which had abused rootkits, just due to budget investment alone. Their website is absolutely atrocious and amateur - and for an international company that deals with international stakeholders and clients it's impressive the amount of poor english, errors and ambiguous information a company has in their presentation website - there's instances where the product name is not even correctly placed in their own EULA - if a company cannot invest even in basic PR and presentation something leaves me a bitter taste that their network security isn't anything better. They can handle user binaries but network security is a completely different work. The fact that hackers are easily able to heartbeat their API network servers leaves me confirming this.
  2. This the most fun one. Wellbia website and terms conditions explicitely say that they're not held accountable should anything happen - terms that you agree and are legally binded to by default by agreeing to Bluehole's terms and conditions:" Limitations of Company Responsibility
  1. IGNCODE3 is a software provided for free to users. Users judge and determine to use services served by software developers and providers, and therefore the company does not have responsibility for results and damages which may have occurred from XIGNCODE3 installation and use.
(the fact that in 1. they can't even care to write properly the name of their product means how little they care about things in general - you can have a look at this whole joke of ToS's that I can probably put more effort in writting it: https://www.wellbia.com/?module=Html&action=SiteComp&sSubNo=5 - so I am sorry if I don't trust where my data goes into)
3) It kinda pisses me that Bluehole adopted this in the midst of the their product got released post-purchase. When I initially bought the product, in nowhere was written that the user operative system data was being collected by a third party company to servers located in APAC (and I'm one of those persons who heavily reads terms and conditions) - and the current ToS's still just touch this topic on the slightest and ambiguously - it does not say which data gets collected, discloses who and where it's hold - "third party" could be literally anyone - a major disrespect for your consumers. I'm kinda of pissed off as when I initially purchase the product in very very early stages of the game I didn't agree for any kernel level data collection to be held abroad without disclosure of what data is actually being collected otherwise it would have been a big No on the purchase. The fact that you change the rules of the game and the terms of conditions in the midst of the product release leaves me with two options Use to Your Terms or Don't Use a product I've already purchased now has no use - both changes ingame and these 3rd party implementations are so different from my initial purchase that I feel like it's the equivalent of purchasing a shower which in the next year is so heavily modified that it decides to be a toilet.
I would really like for you Bluehole to show me the initial terms and conditions to when the game was initially released and offer me a refund once you decided to change the product and terms and conditions midway which I don't agree with but am left empty handed with no choice but to abandon the product - thus making this purchase a service which I used for X months and not a good.
I really wish this topic had more visibility as I know that the majority of users are even in the dark about this whole thing and Valve and new game companies really make an effort in asserting their product's disclosures about data transparency and the limit of how much a product can change to be considered a valid product resembelance upon purchase when curating their games in the future - I literally bought a third person survival shooter and ended up with a rootkit chinese FPS.
Sincerely, a pissed off customer - who unlike the majority is concerned about my data privacy and I wish you're ever held accountable for changing sensitive contract topics such as User Privacy mid-release.
-----
EDIT:
For completely removing it from your system should you wish:

Locate the file Xhunter1.sysThis file is located in this directory: C:\Windows\xhunter1.sys

Remove the Registry Entry (regedit on command prompt)The entry is located here: HKEY_LOCAL_MACHINE > SYSTEM > ControlSet001 > Services > xhunter


For more information about XINGCOD3 and previous succesful abuses which show the malignant potential of the rootkit (kudos to Psychotropos):

- https://x86.re/blog/xigncode3-xhunter1.sys-lpe/
- https://github.com/Psychotropos/xhunter1_privesc
submitted by cosmonauts5512 to PUBATTLEGROUNDS [link] [comments]

Recover Stolen Bitcoin and Cryptocurrency

Recover Stolen Bitcoin and Cryptocurrency

Recover Stolen Bitcoin and Cryptocurrency
Cryptocurrencies are a high priority target for cybercriminals. Whether targeting your wallet directly or hacking the exchanges once cybercriminals have access to your currency you need to act fast! You can also recover money lost to binary options.
Lost Bitcoin? Stolen Cryptocurrency? Hacked virtual currency account - Follow these steps now!
  1. Report to appropriate authorities - Report the case to the appropriate authorities, for them to be able to have it looked into.
  2. Change your login details - If you are still able to login to your account then follow the normal procedure to reset your password and other security information. Enable two-factor authentication. This should lock the criminal out of the account.
  3. Notify the exchange/provider - If you have purchased or are storing your currency with a service provider then let them know about the breach and the fraudulent transactions. They may be able to retain some information about the transaction that could come in useful in an investigation.
Will I Recover my Stolen Bitcoin?
Once your virtual currency has been stolen it is incredibly unlikely that you will be able to recover it. In theory, it’s possible to track your stolen bitcoin by monitoring the blockchain – in practice, however, this is made difficult by both the anonymous nature of the currency and the fact that the thief will most likely use a bitcoin exchange to trade the currency for normal cash straight away. However, money does leave a trail and you may be able to follow it to the identity of the criminal.
How to Recover Stolen Bitcoin and Cryptocurrency
  1. Check your devices for malware - It is worth considering that a malicious software infection may have led to the hacker accessing your currency. Scan the devices you use to handle your currency and make sure they are clean. You can follow our guide on checking for and removing malware here.
  2. Call your bank - If the transaction had related costs that hit your bank accounts - such as transaction fees or deposits - then contact your bank immediately and let them know it is an unauthorized/fraudulent transaction.
  3. Follow the money - You can follow the transactions of the wallet address that your funds were scammed into. If you notice the scammer attempt to transfer funds from the wallet to cryptocurrency exchanges to sell for fiat currency, report to the relevant exchanges immediately. An opportunity to catch the scammer is to follow the money trail through blockchain explorers and trace your lost funds. You can use browser-based blockchain exploring software such as https://blockexplorer.com to ‘follow’ the payment through to an end bitcoin address. Once you have this address you can check whether the owners of the end address(es) appear on http://bitcoinwhoswho.com/. In order to trade crypto to regular money on most popular exchanges, the thief would need to submit KYC (Know Your Customer) information, such as names, addresses, and ID information. Contacting the exchanges can potentially help you to track down the scammer’s identity. This is another reason why it is important for you to file a police report as soon as the incident has taken place.
  4. Hire a Verified Recovery Expert - If you are willing to pay a decent amount for the return of your funds there are websites where you can post a bounty. Experienced blockchain searchers will investigate the theft and see if they can recover the funds for a price. Check out the list of verified recovery experts.
How to Avoid your Cryptocurrency Being Stolen in Future
  • Don’t talk publicly about owning virtual currency - If it is easy to work out that you own a cryptocurrency from your social media activity then you are much more likely to be a target.
  • Use multi-factor authentication - Ensure that you have multi-factor authentication enabled. Use an authenticator app rather than the SMS option. If the option to disable SMS authentication exists then do it.
  • Use a new email address and complex password to set up the account - A new, clean email address that you will only use for the virtual currency account is best. This reduces the chance of you being targeted via your email account.
  • Use a ‘cold-wallet’ - Keep your cryptocurrency off the internet, in a "cold wallet." "Cold wallet" is not a brand, it's a concept of storing bitcoins offline (not connected to the internet) so that it reduces the opportunities for hackers to steal via online techniques.
  • Spread your investments across exchanges - A number of exchanges have been breached. Spread your investments across exchanges to minimize the impact.
  • Get secure - Take time to improve your general online security. Use sites like getting Safe Online and Cyber Aware to understand what good security looks like and make changes. I was personally able to recover my lost bitcoin with the help of Express Recovery Pro – [email protected]
submitted by Babyelijah to u/Babyelijah [link] [comments]

Wyze Cam look-alikes from "NexHT", "Rreslicam", "Yi Home"…

I was just browsing online thru Home Depot and Amazon and came across these products, which bear a pretty obvious resemblance to the Wyze Cam v2 and Cam Pan, respectively.
(Not to mention a whole slew of minicam devices produced by Yi Technology under the "Yi Home" and "Kami" brands.)
So… what's the story with these and other alternative brands of minicam products? It sure looks like they're using electronic and optical components sourced from the same suppliers that Wyze uses. If so, you have to wonder how similarly the various products operate "under the hood", and whether it would be feasible to develop an independent third-party firmware package, on the free-and-open-source community-development model, that would be able to operate and control all of them, with only relatively minor adjustments to accommodate specific models. If the OpenWRT project can do it for dozens—even hundreds—of different models of wireless routers, which generally are built from a relatively limited selection of OEM electronic components and processors, I don't see why something similar couldn't be done for the growing number of small, inexpensive IP minicams becoming available these days.
Maybe someone will reply to this post and call my attention to just such an open-source project that is already in development. I know there've been some great Wyze Cam "hacks" released by a handful of independent developers, but I'm not aware of any well-organized project to create the "OpenWRT" equivalent of IP-minicam firmware. I'd be interested in helping to organize such an effort, if there's sufficient interest and it's not already underway.
submitted by jdmctx to wyzecam [link] [comments]

Statically-typed interactive scripting languages?

There seems to be a trend towards adding some sort of gradual typing support to existing dynamically-typed scripting languages (e.g. TypeScript, Hack, Sorbet for Ruby, mypy for Python 3, etc.). I'm wondering if there are any scripting languages that are designed with static typing first (plus type-inference) but allow for some dynamic features like macros? If not, is this even a good idea?
The static type system ideally would be something similar to Swift or Kotlin's, with Optional types instead of Null and tagged unions instead of C-style enums. An escape-hatch for untyped code like TypeScript's Any would be useful for polymorphic functions and metaprogramming. An ML type system is probably too complex for an interactive scripting language but I think ML-style pattern matching would be awesome to have in such a language.
I also think that value semantics and immutability should be the default, like Clojure. Mutability should be opt-in and enforced by the type system (kind of like ref in OCaml). This would help eliminate a whole class of mutability-related bugs in concurrent and parallel programs. A scripting language in 2020 should have great concurrency and thread-safe parallelism support. Since the trend seems to be towards distributed computing, scripts should be easy to deploy to the cloud (preferably as a statically-linked binary).
While Swift and Kotlin are great languages, they don't seem to be designed with interactivity and immutability in mind (Swift seems to be a bit better based on my limited research). They have REPLs, but Swift compile times seem to be a bit too long last time I checked and it feels more like a systems language to me. Languages like Clojure and Common Lisp were designed to be interactive and feel much more like scripting languages suitable for exploratory programming. The only problem with Clojure is that it's too dynamic (Typed Clojure might help but I haven't looked into it much) and the Lisp syntax, while not much of a problem for me personally, prevents it from ever becoming a mainstream language.
The language I'm looking for ideally would have a Python or Ruby-like syntax and a good REPL with support for hot code reloading.
Runtime performance isn't a huge issue for me but ideally the language is faster than Python. Static typing should help a lot with this.
My personal issues with existing languages: - Clojure: (mentioned above) - Common Lisp/Python/Ruby/Julia/Raku (Perl6): mutability is the default - Erlang/Elixir: super dynamic (not sure how well Dialyzer works in practice) - Nim: mutability is the default, systems language - (Am I missing anything?)
Would such a language, if it doesn't exist already, be a good idea in practice? I think the combination of a good static type system with support for dynamic features when needed could make for a really interesting language. I'm open to suggestions.
submitted by krushor to ProgrammingLanguages [link] [comments]

Passed OSCP - My Experience

Originally, I was leaning against doing an obligatory post-OSCP Reddit post because I didn’t want to come across as another “look at me - I passed OSCP!!” cringeworthy OSCP Oscar speech, but I decided to go ahead and do one because my experience was perhaps a little unique and answers the much-asked question “can I do OSCP without experience?”.
A quick background to add context…
I’m 31 years old and my employment history is a mixture of sales, graphics, and media-related job roles. I felt discontented for a long time earning (barely) living wage in job roles I had little passion for. Anyway, to cut a long story short, I decided to quit my latest sales job in November last year (2019) to pursue a career in cybersecurity/infosec. I didn’t know what ‘TCP’ or ‘UDP’ was, and I’d never heard of ‘Kali’ or how to run a VM, but I was convinced that this would be the career path for me.
Anyway, I went through Security+ and C|EH from November to March and, just as I was going to start applying for Security Analyst type job roles, our friendly neighbourhood Coronavirus came along and shut down the economy. Even though I had no intention of doing OSCP for another year or two, I thought it was a better option than twiddling my thumbs for a few months, so I decided to sign up for PWK labs and have a crack at it.
Fast-forwarding to yesterday, after a few brutal months and an incredible experience, I finally got the OSCP “you have successfully completed” email.
Apologies in advance for the essay but I just want to go through my journey for those of you that might be in a similar position to the one I was in - limited/zero IT experience and feeling intimidated by the dreaded OSCP mountain.
My journey…
In the weeks leading up to the wait to start my 60 days PWK material and labs, I went through The Cyber Mentor’s Practical Ethical Hacking Udemy course and then went on a Hack the Box rampage, so, by the time my lab time started, I felt like I was in a pretty decent position.
Unfortunately, because I was a naïve idiot, I tackled the labs straight away and went through the PWK PDF casually on the side. This was a big mistake and something I would definitely change in hindsight because it cost me 5 easy points on the exam (I thought I could smash through the PDF exercises during the last week of labs but this didn’t prove to be enough time).
In 60 days I ended up rooting around 40 machines - I didn’t bother going for the networks because it didn’t apply to the exam and, although valuable real-world experience, I didn’t want to get distracted and flood my brain with even more information when it wasn’t going to be relevant for my mission.
One big thing that I did get right was note-taking. I can’t express enough how valuable it is to take detailed notes and build your own cheat sheet library. After every machine I rooted, I did a walkthrough on OneNote and added any new tools/commands to my cheat sheet library. This not only saves precious time in the exam, but it helps you build your own knowledge instead of relying on other people’s cheat sheets without really understanding what you’re doing.
After my 60 days had finished, I spent 1 month on TJ Null’s OSCP Hack the Box list and IppSec’s video walkthroughs. I also can’t stress enough how valuable this learning methodology is. My only regret is that I rushed through it. I’d already booked my exam 30 days after lab time, so I ended up jumping through walkthroughs when I got stuck on boxes instead of exhausting all options. This was another naïve idiot mistake on my behalf and something I would do differently in hindsight. There’s a difference between “trying harder” and “trying harder, but in a smart way”. I was putting 10+ hours in every day but I wasn’t always being efficient with my time. I’d definitely recommend seeking hints and tips on boxes but only after you’ve exhausted all options first, something which I didn’t always do.
Anyway, my first exam attempt came around towards the end of July. Was I ready? No, but I had delusional confidence in myself that has paid off for me more often than not, so I was hoping it would pay off for me again.
My first exam was brutal. I sat in my chair for a total of 23 hours and 15 minutes, with only 3 short 5-minute breaks to get food to snack on. My VPN was shut down after 24 hours and I had a total of 65 points, which I’d been stuck on for the last 8 hours of my exam. I got the BO, root on one of the 20-point machines, root on the 10-point machine, and user on the other 20-point machine. I just couldn’t get root on that last machine.
I was pretty devastated because I’d put my heart and soul into Sec+, C|EH, and OSCP for 7 straight months and I wanted it bad. But my delusional confidence wasn’t enough.
After listening to depressing Taylor Swift songs for a few days (joke), I decided to book another exam in, 4 weeks after my first attempt.
This time around, I decided to go through Tib3rius’s Linux and Windows Privilege Escalation courses (they were great) and go back over some of the HTB machines. I honestly felt at this point that there wasn’t much more study material that I could go through.
2nd exam came up and it was an almost minute-for-minute repeat of the first exam. BO done, 20 point rooted, 10 point rooted, but could only get user on the other 20 point. 65 points again. This time I ended up listening to Taylor Swift + Lana Del Rey.
I was pretty adamant that I could do this and that I was very close, so I sent Off-Sec an email explaining my situation and they were kind enough to allow me another exam attempt without waiting 8 weeks - I booked another exam in 2 weeks after my second attempt.
This time, my preparation was entirely mental. In both my prior exams, I was sat on my chair for over 23 hours because I was flapping around aimlessly like a headless chicken, desperately firing off exploits that I knew wouldn’t work on the other 20-point machine. So, I went into the 3rd exam determined to go at a slow and steady pace, and not let the 24-hour timeframe pressure me into a wild goose chase.
Miraculously, it seemed to work. After 14 hours, I’d done the BO, rooted both 20-point machines, rooted the 10-point machine, and got user on the 25-point machine. 85-ish points in total.
The point of this story is to get across to people that you need to try simpler, not harder. I perhaps failed my first exam because I’d not gone through Tib3rius’s Priv Esc courses, but I failed on my 2nd 100% due to mentality. There was no skill-level difference between my 2nd exam and 3rd exam.
I’ll finish off with my recommended learning methodology and exam tips (for people with limited/zero IT experience):
. The Cyber Mentor Practical Ethical Hacking Udemy course (usually on offer at $14.99-ish)
. Tib3rius’s Linux and Windows Privilege Escalation course (usually on offer at $12.99 each)
. Try Hack Me OSCP Learning Path (I would recommend doing this before HTB - it is $10 for 30 days)
. PWK labs (I personally don’t feel more than 60 days are required - unless you work full-time)
. TJ Null’s OSCP Hack the Box list ($10 for retired HTB machines - very worth it)
. You should be ready for the exam
Exam tips:
. Become proficient with Nmap but use an enumeration tool like nmapAutomator for the exam
. You will need to understand what bash and Python scripts are doing (you don’t need to be able to write them from scratch)
. Don’t be tempted to use a fancy BO methodology for the exam, stick with PWK’s methodology - it works (some of the others don’t)
. Play around with various reverse shell payloads - sometimes a bash one-liner won’t work so you need to go with Python. Sometimes Bash, Python, and netcat won’t work, so you need to understand what alternatives you can use in that scenario
. Get into the habit of reading service manuals. In all 3 of my exams, I came up against machines that had services I’d never even heard of. Fortunately, I’d got into the habit reading service manuals, otherwise, I would have skipped over the services and got lost down a rabbit hole
. Get into the habit of exploiting conventional services in unconventional ways. Just because an SUID binary isn’t on Gtfobins, it doesn’t mean that you can’t exploit the SUID binary in an unconventional way. Again, get into the habit of reading manuals to understand what services do
. Become familiar with Burp Suite. Many exploits won’t work in the way you might expect them to, but they will work if you run them through Burp. Or, at the very least, you’ll be able to understand why they’re not working. This issue came up in my last exam and I would have been completely lost if it weren’t for Burp
. Take breaks if you get frustrated - this is said over and over again by people on this subreddit and it’s an absolute must. The 20 point machine that I couldn’t root after 8 hours on my 2nd exam was on my 3rd exam (thanks Off-Sec - I know you tried to fu*k me with that), but I was able to root it within 1 hour on my 3rd exam, simply because my mindset was different at the time.
. Trust your gut - by doing PWK and HTB machines, you should develop a gut feeling of when you are in a rabbit hole and when you’re on the right track. I ended up rooting over 100 machines before the exam (albeit with plenty of hints and tips) and it helped me develop a good gut feeling. I can’t explain why but there were times in my last exam where I knew I was in the right area even though I wasn’t able to enumerate the specific service version. This feeling simply came from experience. I’m sure many of you watch IppSec’s videos and wonder “how the hell does he know to do X or Y?”. I used to wonder this all the time but after going through dozens of machines, I finally got it. It comes down to experience. Try to do as many machines as you can before the exam to build that gut feeling, and trust it in the exam.
. Embrace failure - this is perhaps the most important thing that I can say. OSCP is a difficult journey and many people fail multiple times before passing. And you know what? That’s okay. It’s okay to fail. It’s how you react to failure that counts. I’m not particularly smart but I embrace failure and I know deep down that I will keep trying until I pass. I was prepared to take the OSCP exam 1000 times if I had to, I was never going to let the exam beat me. I suggest you approach it with the same mentality and not let silly pride prevent you from having a go at it.
One last thing! Join a solid Discord community. This journey has been amazing since day one and a big reason behind that is the amazing online community. I was very active in an HTB community and ended up talking to several people who were going through OSCP at the same time as me. This was honestly such a massive help to me because I didn’t know what the hell I was doing when I first started!
Sorry for the massive rant - I just see so many people on here treating OSCP like an unsurmountable mountain. It’s not. You can do it!
submitted by TheCrypt0nian to oscp [link] [comments]

A thorough evaluation of the 9/18 PTS update and base changes, as well as almost everything else coming up.

Hello, here’s another round of Esamir Rework reviews. I’ll also cover the Indar base changes, the storm, vehicle balance changes and new infantry gear. I’m not going to touch on outfit resource changes here, since this post is long enough already. I’d like to give shoutouts to aln-isolator , [NWYT]Praefectus, the pilots of [SACA] and everyone else who helped give feedback.
Here’s the image gallery. This time around the bases listed in the document match the order in which they appear in the gallery. https://imgur.com/a/5pd5VFj
Esamir has a new skybox which is much less bright. I can now see vehicle weapon tracers when shooting. This is a long asked for change.
Andvari: 3 points now, 12 min cap with 2 points, 4 mins with 3 points. Consider adjusting the timers.
Ymir: No changes to terrain that I can see. It’s a 12 minute cap with two points owned, and 4 minutes with 3 points. Might consider reducing those slightly.
Apex Genetics has had its wall adjusted somewhat, as well as the rocks surrounding the triple stack. There are now more routes for infantry to enter the base.
Aurora Materials: Sunderer garage and surrounding terrain seem to have been lowered slightly. Also, there’s now a rock at the end of the garage, which reduces the possible angles the bus inside can be shelled from. The slope between the crescent building and the road has had some paths added for infantry. Overall, good changes. However, there’s still one issue here, and that’s the possibility of shelling the triple stack balcony from the ridge NW of the base. Additional purple spikes from the cluster behind the spawn room could be positioned to block this firing angle.
Eastwake Harborage: Point has received a new structure above it. It’s now on the bottom floor of a triple stack that has an expanded balcony around its second floor. This gives point holders a lot of additional cover, but the problems with this base still exist. There’s still a ridiculous distance between spawn room and the point with minimal cover from vehicles/bolters/LAs- a literal Death Valley. The area immediately around point is still extremely harasser friendly and could use some props to obstruct harasser movement. In its current position, the teleporter room is useless since infantry leaving it must still advance through Death Valley. Sundy positions are a bit sketchy, too. Fortunately, I’ve had a long discussion and now believe this base could be fixed with a couple tweaks. Consider replacing the AI turret outside the spawn room with an AV gun. This would discourage excessively aggressive vehicles from camping Death Valley. Likewise, replacing the light vehicle pull with an MBT pull gives defenders a bit more potential firepower, and increases the area attacking vehicles must cover to protect their own vulnerable spawns. This base would also benefit from the moving of primary teleporter room to a point higher up the hill and closer to the point, as shown by squad waypoint in this image: https://i.imgur.com/TuEee9F.png. A second teleporter here at hearts waypoint https://i.imgur.com/JUbXklc.png gives defenders another route into the point without going through Death Valley. At these two locations sunderer garages could be built to create safer spawn points for attackers.https://i.imgur.com/QWblfz4.png https://i.imgur.com/w4HR05n.png
Echo valley: Rocks have been added on the exterior side of the vehicle terminal to give it some cover. However, they aren’t close enough to each other to prevent me from driving through with a Kobalt bus, nor is there anything stopping me from hacking the terminal or using a GSD to get through the shield and then start driving around the base. Placement of a couple rocks in very specific spots would stop this. Secondly, a crate has been placed between bridges to give infantry another path into the point building. It’s a cool concept, but it needs some form of obstruction to prevent me from driving harassers or possibly larger vehicles onto the two bridges and blasting point directly. Thirdly, consider some form of sight blockers on the west wall to reduce the potential for LAs to spawn camp.
Excavion DS-01E: Cover has been placed over both tunnels, which is an excellent change. MBT pulls have been added to this base, though they could stand to be moved slightly closer to the spawn room to deter attackers from hacking them and flooding the base with AI vehicles. A point is located in a long narrow building near the eastern tunnel exit. B is in a triple stack on the south side. C is located immediately west of the drill site. Capture timer is 4 minutes with two points and 1 minute with all 3.
This base is mostly fine, but could do with some small tweaks for increased cover. At A point the point holders have few options for cover inside. There are two small smokestack structures (pictures in gallery) that could be replaced with actual buildings to provide more cover from aircraft for players moving around inside the base. Timers could probably be increased slightly. Overall though it’s in a decent state.
Genudine Gardens: Some props have been added throughout the base that’ll prevent harassers from turboing around like maniacs, but the gigantic hole in the wall in one corner needs to be closed off somewhat to prevent vehicle entry or at least make it more difficult. This base would be fine if that hole were sealed or obstructed better.
Grey Heron: Additional cover has been placed on the side of the staircase leading from spawn to B/C point. The secondary route for defenders has been fleshed out- the door now is high enough to get under, and there is a hole in the floor that allows defenders to drop down to the lower level. Cover has been added on the B side of this base.
For improvements, I still think a roof is needed over the stairs from defender spawn to the lower level. A wall alone won’t stop tanks from shelling it. C could use a bit of cover, but I’m concerned that adding too much will turn it into a fortress. You can enter this base with harassers, so some bollards should be added to each entrance to prevent that.
Jaegers’ fist: Sunderer garage has been added, and the trench has been improved. This base has some odd issues from an infantry perspective, namely that attackers and defenders have the exact same routes to the point, as shown in the gallery. I have no ideas for how this could be improved. I still believe the point needs some kind of roof to block HESH spam and A2G, preferably a solid one to deter LAs from doing C4 bombing.
BL-4 Recovery and Vidar Observation Post both have spawn rooms and light vehicle terminals. This is a pretty good change, allowing closer vehicle pulls and a shorter sundy reinforcement distance for attacks on the surrounding facilities.
Jord Amp Station: More cover has been added around C point. This is a good change, but doesn’t change the fact that A is still inside the station.
Mani Lake: This one has undergone the most terrain edits, and consequently has become a lot less vehicle friendly. The two trenches leading into the base have had barricades installed, allowing infantry to move through but not vehicles. The hills surrounding the base have had their exterior faces steepened significantly, preventing treaded vehicles from driving up them. This change is excellent, but needs a bit of tuning. The Western Ridge’s southern tip has a shallow enough slope that tanks can still drive up it. On the large mountain to the West on the far side of the road, there’s a small protrusion that should also be levelled. Once these two spots are taken care of, this base will be fine. Overall, the changes are very good here.
Mattherson’s Triumph: The Sunderer NDZ has been reduced in radius, which allows the defenders to deploy inside the south tower for a safer position. This is a good change. The ridgeline to the NE has had its northern face steepened significantly, preventing tanks from driving up that side. However, the SW face has become easier to traverse, so the ridge is still usable for bombardment of the catwalks and A point. If this goes live in this state, it’s not a total disaster since tanks driving up that will be very exposed to AV fire from the tower, but it still could stand to be addressed. Likewise, there’s still a nice spur sticking out of the north end from the NW ridge that allows tanks to easily shell defender spawn and A point. The fix here is simple- flatten the spur completely.
A point needs additional work. At minimum, the windows on each tower in the room where A point/SCU would normally go should be sealed off to reduce the angles point holders must watch. There’s very little cover on the ground, especially when you consider all the angles A can be shot at from. I believe the point could be enclosed in the same type of building used at Chimney Rock’s point on Amerish. The bridges are a mixed bag. They’re identical copies with one rotated 180 degrees, which means that crate placement favors the attackers on B side and the defenders on the C side. Picking one crate pattern for all 4 bridge ends is one possible fix. I’m still not sold on the idea of both points being on bridges. They’re very exposed to A2G spam and bolters. Overall, at the very least the terrain edits are a nice start, and the sunderer NDZ change is very welcome.
Nott Communications: This base is now entirely underground. Attackers enter by overloading a shielded gate, and then drop down into an amp station interior. These gravity lifts are one way, but please consider adding an up lift to replace one of the drop pads. A point is in the position where A points usually are in amp stations. B and C are in the room where SCU would be normally positioned. At the end of this room where the tunnels and back door would normally be is a one-way teleporter, which is the only way for anyone to get out of this base right now. Defenders spawn underground and there’s a one-way shield leading to where the vehicle bay normally is. To improve this base, I’d make the one-way shield a two way shield, and reverse one of the grav lifts. I could not test the cap timer since I did not feel like ghost capping half a continent.
Pale Canyon: Some cover has been adjusted by the big yellow tanks on the SE side. A new route has been placed through the rocks at the NW corner of the base. This is an interesting change, but I don’t know how that’ll play out on live since currently I can park a bus inside the base at the same location.
The Rink: The ground texture at A point is now ice, so it’s actually an ice rink. Too bad you don’t slide around here.
Saerro Listening Post: Trees added to A point to break LOS between attacking vehicles and the tower. The wall between A and B has had some new gaps placed in it to allow infantry to get in. Interesting changes for sure, but I don’t know how they’ll play out.
The Traverse: The bridge has been resurrected, although it’s in a heavily damaged state. It’s now an infantry only playground, unless you’re a bold harasser or magrider driver. Because the storm was here, I really couldn’t stick around and take a long look at this. Lastly, the bottom of the pit has been raised a bit and paths to the bottom have been defined more clearly.
There also have been some changes to roads around the continent, but nothing major.
Indar:
TI Alloys: The removal of the bridge is a failure to understand why TI Alloys is such a difficult base to attack. On live servers, TI currently suffers from horrific sunderer placement options which combine with its central location to create a base that’s easy to defend. From the North, attackers must park their bus and attack up a hill through narrow ravines into entrenched defenders backed up by AI harassers, sunderers, ANTs, lightnings and even occasional MBTs. From the South, attackers have two bus spots: One is placed to the south-east, below the point. The other is placed directly south of the spawn room on the far side of the road. Both of these options are suboptimal- on the south east spawn the bus can easily be sniped by vehicles shelling from the Crown, driving down from the Crown, or by vehicles streaming out of the vehicle pull. The south bus on the far side of the road is also not ideal, since infantry have to cross the road and deal with a flood of vehicles as well as an angry AI turret. The only decent spawn location is at the end of the rock bridge, since that one’s reasonably safe from enemy vehicles and doesn’t involve attacking from the low ground. However, this position’s impeded by the fact that attackers from the north inevitably gravitate to the eastern side of the base since that’s safer from the defenders, forcing a three way that never ends. The result is a base that can’t be broken except by routers.
The removal of the rock bridge changes none of this, but instead creates more problems. The safe sundy position on the bridge is gone entirely. Further, the bridge’s removal allows tanks to bombard Ti from the Crown once more, since it served as a line-of-sight blocker. The new attacker foot path to the north east is extremely vulnerable to bombardment from the Crown.
As far as the base interior goes, a new wall has been added to the interior of the point room structure. This might give attackers a better chance to get to the point, but at the same time it might make things easier for the defenders should they conduct an organized push since there are fewer angles to set up a crossfire from.
So how can Ti be improved? I’d start by bringing the bridge back, or at least a small section of it to allow for a safe sunderer position at the east side. For the south, consider a tunnel leading under the road. This allows infantry to get to the base safely. I’d also consider adding in more props to restrict the passage of vehicles through the spawn room area to the northern side of the base. Removing the Kobalt bus fiesta there will make it easier for attackers to push in from the north. Lastly, if the bridge is not restored, consider creating a rock wall at the north east section of crown to prevent tanks from raining hell on anyone fighting at Ti.
Crown: The removal of D point is honestly a good thing. It wasn’t fun for anyone to attack since it’s open ground and below a cliff which enables C4 spam against vehicles and requires attackers push against entrenched infantry. Since Crown becomes a three point again, now the base cannot be stuck in a perpetual stalemate. I’m not a fan of where A point was moved to, either. I think if the rock bridge were kept then Crown would be mostly fine. With the three non-vehicle points it has on live. The issue with A being on that southern bridge is that if the attackers set up sunderers to control B, then they get A almost for free and can contest C as well. B point has been moved farther towards the center of the mountain and the tunnel system lengthened a bit, and a lot of cover has been removed at the initial entrance room that exists on live.The extra tunnel into B is an interesting idea and gives a better chance of an attack from the North succeeding, but at the same time it’s just another tunnel choke point to for aoe spam to create nasty farms. C is also problematic if it’s supposed to be the easy point for defenders to contest. It’s a fair distance from the tower, and it’s also open ground which is prime for A2G farming. I’d suggest moving this one into one of the nearby buildings if A must stay in the position it’s at on PTS. I’m not convinced the base needed any point position changes apart from the removal of D point. The current point layout on PTS favors an attack from the SE very heavily, and attacks from the East or North are far more difficult. While old A was very close to the tower, at least it provided a convenient point for attacks from the East. None of the changes really address the problem of poor bus location options, and with the current terrain there really aren’t many good potential spawn options. At most some garages could be added.
Ceres Hydroponics: Defenders now have a slightly shorter path to the point when pushing from the NE side of the base. The point itself has much less cover. I’m not going to make judgements on this without seeing how it plays out.
The Esamir storm: I’m not sure what this thing is supposed to do. The entire point of the game is large scale battles, yet this thing rolls around the map destroying the biggest fights. There’s nowhere safe from it. Sunderers will get destroyed even if put in garages. When outdoors infantry can be instagibbed by lightning for staying outside too long, and even when indoors their shielding takes frequent chip damage from environmental effects. The shield damage consistently drops players down about 150 shield points that constantly recharge, but this is enough to start messing with TTKs. For example, a commissioner can consistently OHK players. Since the shield damage is not synchronized across all players, it’s possible to be forced into gunfights where you have no hope of winning not because you were in a bad spot or outplayed, but simply because the game decided it’s your time to die. This applies doubly for lightning bolts which will randomly strike you down. There’s a text warning, of course, but random OHK mechanics really shouldn’t be a thing. You cannot use steel rain in the storm.
For vehicles this is obnoxious too. Ground vehicles lose most of their mobility, which will punish new players with poorly certed vehicles even more. Aircraft are even worse off, losing most of their vertical thrust. At times I felt like even afterburning upward was barely enough to keep the aircraft airborne. Vehicles kept in the storm for too long will simply be instagibbed, which cripples sunderers as spawns. The storm also destroys base turrets and terminals.
There are counters to the storm, though. Infantry can deploy lightning rods bought with merit that allow them to fight outside, but it doesn’t stop shield chip damage, and can equip an insulated armor suit at the cost of flak armor, nanoweave, or shield capacitor. This suit slot appears to be bugged and doesn’t actually reduce the chip damage taken by your shields. Carapace seems to be immune to this chip damage. Vehicles can equip insulated armor in the defense slot. This mitigates the performance hit to vehicles, reduces the damage taken by lightning, and prevents the storm from instagibbing your vehicle. Now, this is less of a problem in the first place for aircraft and tanks, but it screws over sunderers. Sunderers are already fragile enough even with deployment shield equipped, but forcing spawn buses to use this module and rely on their low hull HP is a very bad idea when paired with random lightning strikes and the severe lack of garages Esamir has.
With all that out of the way, the question I have to ask is why is the storm designed like this? It seems like a band-aid fix for zerging and actively punishes trying to create large fights. It cripples the vehicle game, negatively affects the infantry game, creates inconsistent TTKs, and only adds frustrating game mechanics. If the center of the map ends up with stalemates, it’ll circle around there endlessly preventing any kind of progress through the pile of three point bases. Why this, when there’s a lot more interesting concepts that could be used? For example, maybe the storm could reduce the rate at which players can spawn at a base/sunderers/routers. Maybe it could jam radaprevent Q spotting. Consider reducing shield chip damage to 50 shields instead of 150 to reduce TTK variance. There’s a lot more interesting ways it could change the game without being the anti-fun mechanic that it’s currently set up as.
Infantry gear:
Lightning grenade: Cool, you can launch a targeted lightning strike when in the storm. More instagibs is what the game needed.
Lightning rod: This temporarily redirects lightning strikes near you. This is a solution to an obnoxious problem that doesn’t need to exist.
Condensate grenade: Reduces movement speed and ROF by 20% for six seconds. This is a terrible idea in an FPS game. This doesn’t create interesting gameplay situations. Instead of being outplayed, players hit by this just lose since the game’s punishing them for playing. Keep this in RPGs and RTS games. Now, we do have status grenades already, but do we need one that’s as powerful as this one is?
BEC grenade: Similar to Condensate Grenades, this is a horrible addition to the game. Anything that hurts player mobility/damage output is a bad idea.
Neutralizer Device: Campaign reward that allows players to acquire abandoned vehicles, and apparently strip ability energy from players too. I like the idea of vehicle acquisition, but I don’t know if we’ll ever see the second use of this tool.
Abandoned vehicles: Around the continent are the hulks of abandoned tanks, sunderers and aircraft. They come with a special ability that I haven’t really tested, HEAT cannons and the first generation ES top gun. For the sake of loadout parity for all 3 abandoned MBTs I’d like to suggest the Prowler get a Gatekeeper instead of the Vulcan.
Vehicle changes: Havoc missiles: Are these things still necessary, with the liberator nerfs? These things seem redundant now, and they’ll punish rep gal balls unnecessarily hard while valkyries with rep monkeys can probably still dodge these things easily.
Phalanx AA turret range increase: This doesn’t fix any of the problems with the current AA setup. Instead, it’s going to just annoy A2A players who are flying along at high altitude and getting plinked by base AA guns, which is the reason the things got their range capped to begin with! Honestly I think these things should be replaced by weapons like Bastion CIWS guns. Those things are nasty at close range but their damage output falls off heavily at range.
Liberator: -500 HP and ESF nosegun resist from 85 to 80. While the liberator needed some changes regarding its durability and repair tanking in particular, this change spectacularly misses the mark on many levels. This change skews ESF vs Liberator combat too far in favor of ESFs. When paired with air locks this brings down the TTK to incredibly fast levels (around 9 seconds, which isn’t even enough for three dalton shots) In this post, mystoganofedolas https://www.reddit.com/Planetside/comments/ivjg8t/rock_paper_scissor_balance/ explains in great detail the liberator issues- it’s a blatant hard counter to ground vehicles, and gets brutally hard countered by ESFs on PTS. Hard counter mechanics are terrible in an FPS game. In this sort of rock-paper-scissors gameplay, things boil down less to individual ability and more towards who has an exact counter to something, which is extremely boring. There’s no skill in using A2A missiles, just as there’s minimal skill in hovering over tanks and daltoning them. In this post here https://www.reddit.com/Planetside/comments/ivsssx/did_some_basic_math_regarding_the_upcoming/, taltharius demonstrates that -500 HP barely changes anything in the case of liberators eating multiple AP shells before hitting fire suppression and flying off. Skilled gunnery should be rewarded, and sloppy flying should be punished.
So how can this be improved? Consider reducing vulnerability to ESF noseguns slightly. Adjusting Liberator resistance against tank shells, light anti-vehicle, gatling guns, and infantry rockets will increase the damage libs take from ground fire and punish poor flying/reward skilled aim. Possibly consider increasing MBT main gun elevation angles slightly, to reduce the ability of liberators to hover over tanks with minimal counterplay.
Harasser: Nanite cost to 300. Oh boy this one misses the mark completely. The problem with harassers has never really been cost related, but rather one that got introduced with CAI. The harasser itself is not overpowered and its efficiency in combat drops off hard at higher levels of gameplay. Only when harasser numbers become overwhelming (3 or more harassers vs 1 MBT) do the harassers stand a chance of defeating the best tank crews, and even then the tank usually can take 2-3 harassers with it. Harasser vs tank gameplay is extremely boring and very binary. If the harasser has a CQ AV gun it’s forced to fight at point blank which means I delete it easily. If it uses halberd or ES long range AV we both enter a boring poke fight where neither one does significant damage to the other. Even if the harasser opens up with rear hits the MBT still has an overwhelming advantage in firepower and hit points. With tanks, the problem since CAI has been poor muzzle velocity of HEAT shells which makes hitting difficult and what most players will have equipped, pathetic Basilisk DPS against everything (Kobalt kills stock harassers 4 seconds faster), Skyguards being helpless against every ground vehicle, and the Viper not having the accuracy to deal with small moving fast targets. Small changes to these three weapons will reduce harasser vs tank complaints.
Harasser vs Harasser is broken, for a different reason. Harassers have a weakness to gatling guns, which means that the Vulcan and Aphelion rip through harassers while the Mjolnir specializes in fighting heavy vehicles. In practice, this means that for low/average skilled car crews, vulcans are disproportionately powerful since less skilled players won’t know to keep outside minimum damage range. At higher levels an Aphelion car is very hard to fight. Toning back harasser weaknesses to gatling guns might improve this situation, but at the same time it might nerf the Aphelion too much. At the very least this’d probably reduce vulcan whine somewhat.
Overall, I have mixed impressions. The base changes are mostly for the better, but the storm, infantry gear, and vehicle changes are mostly bad or miss the mark completely.
submitted by ItsJustDelta to Planetside [link] [comments]

Thermostat Recommendations, for HA?

Hi All,
As it's a fast moving field, looking for fresh recommendations. Need a smart thermostat.
Summary: Just looking for something I can control with HA Automations, or NodeRed if needed. Ideally Zigbee or ZWave. Running HASS on a Pi w/ssd.
Details:
Have been looking at:
submitted by SignedJannis to homeassistant [link] [comments]

MAME 0.223

MAME 0.223

MAME 0.223 has finally arrived, and what a release it is – there’s definitely something for everyone! Starting with some of the more esoteric additions, Linus Åkesson’s AVR-based hardware chiptune project and Power Ninja Action Challenge demos are now supported. These demos use minimal hardware to generate sound and/or video, relying on precise CPU timings to work. With this release, every hand-held LCD game from Nintendo’s Game & Watch and related lines is supported in MAME, with Donkey Kong Hockey bringing up the rear. Also of note is the Bassmate Computer fishing aid, made by Nintendo and marketed by Telko and other companies, which is clearly based on the dual-screen Game & Watch design. The steady stream of TV games hasn’t stopped, with a number of French releases from Conny/VideoJet among this month’s batch.
For the first time ever, games running on the Barcrest MPU4 video system are emulated well enough to be playable. Titles that are now working include several games based on the popular British TV game show The Crystal Maze, Adders and Ladders, The Mating Game, and Prize Tetris. In a clear win for MAME’s modular architecture, the breakthrough came through the discovery of a significant flaw in our Motorola MC6840 Programmable Timer Module emulation that was causing issues for the Fairlight CMI IIx synthesiser. In the same manner, the Busicom 141-PF desk calculator is now working, thanks to improvements made to Intel 4004 CPU emulation that came out of emulating the INTELLEC 4 development system and the prototype 4004-based controller board for Flicker pinball. The Busicom 141-PF is historically significant, being the first application of Intel’s first microprocessor.
Fans of classic vector arcade games are in for a treat this month. Former project coordinator Aaron Giles has contributed netlist-based sound emulation for thirteen Cinematronics vector games: Space War, Barrier, Star Hawk, Speed Freak, Star Castle, War of the Worlds, Sundance, Tail Gunner, Rip Off, Armor Attack, Warrior, Solar Quest and Boxing Bugs. This resolves long-standing issues with the previous simulation based on playing recorded samples. Colin Howell has also refined the sound emulation for Midway’s 280-ZZZAP and Gun Fight.
V.Smile joystick inputs are now working for all dumped cartridges, and with fixes for ROM bank selection the V.Smile Motion software is also usable. The accelerometer-based V.Smile Motion controller is not emulated, but the software can all be used with the standard V.Smile joystick controller. Another pair of systems with inputs that now work is the original Macintosh (128K/512K/512Ke) and Macintosh Plus. These systems’ keyboards are now fully emulated, including the separate numeric keypad available for the original Macintosh, the Macintosh Plus keyboard with integrated numeric keypad, and a few European ISO layout keyboards for the original Macintosh. There are still some emulation issues, but you can play Beyond Dark Castle with MAME’s Macintosh Plus emulation again.
In other home computer emulation news, MAME’s SAM Coupé driver now supports a number of peripherals that connect to the rear expansion port, a software list containing IRIX hard disk installations for SGI MIPS workstations has been added, and tape loading now works for the Specialist system (a DIY computer designed in the USSR).
Of course, there’s far more to enjoy, and you can read all about it in the whatsnew.txt file, or get the source and 64-bit Windows binary packages from the download page. (For brevity, promoted V.Smile software list entries and new Barcrest MPU4 clones made up from existing dumps have been omitted here.)

MAME Testers Bugs Fixed

New working machines

New working clones

Machines promoted to working

Clones promoted to working

New machines marked as NOT_WORKING

New clones marked as NOT_WORKING

New working software list additions

Software list items promoted to working

New NOT_WORKING software list additions

Merged pull requests

submitted by cuavas to emulation [link] [comments]

How to generate (relative) secure paper wallets and spend them (Newbies)

How to generate (relative) secure paper walletsEveryone is invited to suggest improvements, make it easier, more robust, provide alternativers, comment on what they like or not, and also critizice it.
Also, this is a disclaimer: I'm new to all of this. First, I didn't buy a hardware wallet because they are not produce in my country and I couldnt' trust they are not tampered. So the other way was to generate it myself. (Not your keys not your money) I've instructed myself several weeks reading various ways of generating wallets (including Glacier). As of now, I think this is THE BEST METHOD for a non-technical person which is high security and low cost and not that much lenghty.
FAQs:Why I didn't use Coleman's BIP 39 mnemonic method? Basically, I dont know how to audit the code. As a downside, we will have to really write down accurately our keys having in mind that a mistype is fatal. Also, we should keep in mind that destruction of the key is fatal as well. The user has to secure the key from losing the keys, theft and destruction.
Lets start
You'll need:
Notes: We will be following https://www.swansontec.com/bitcoin-dice.html guidelines. We will be creating our own random key instead of downloading BitAddress javascript for safety reasons. Following this guideline lets you audit the code that will create the public address and bitcoin address. Its simple, short and you can always test the code by inputting a known private keys to tell if the bitcoin address generated is legit or not. This process is done offline, so your private key never touches the internet.
Steps
1. Download the bitcoin-bash-tools and dice2key scripts from Github, latest Ubuntu distribution, and LiLi, A software to install Ubuntu on our flash drive (easier than what is proposed on Swansontec)

2. Install the live environment in a CD or USB, and paste the tools we are going to use inside of it (they are going to be located in file://cdrom)

  • Open up LiLi and insert your flash drive.

  • Make sure you’ve selected the correct drive (click refresh if drive isn’t showing).
  • Choose “ISO/IMG/ZIP” and select the Ubuntu ISO file you’ve downloaded in the previous step.
  • Make sure only “Format the key in FAT32” is selected.
  • Click the lightning bolt to start the format and installation process
  • [https://99bitcoins.com/bitcoin-wallet/pape\](https://99bitcoins.com/bitcoin-wallet/pape)

    3. Open the Ubuntu environment in a offline computer that will never touch the internet again (there is some malware that infect the BIOS so doing it in your regular computer is not safe to my understanding)

    Restart your computer. Clicking F12 or F1 during the boot-up process will allow you to choose to run your operating system from your flash drive or CD. After the Ubuntu operating system loads you will choose the “try Ubuntu” option.
    4. Roll the dice 100 times and convert into a 32-byte hexadecimal number by using dice2key

    To generate a Bitcoin private key using normal, run the following command to convert the dice rolls into a 32-byte hexadecimal number:source dice2key (100 six-sided dice rolls)

    5. Run newBitcoinKey 0x + your private key and it will give you your: public address, bitcoin address and WIF.Save the Private Key and Bitcoin Address. Check several times that you handwritten it correctly. You can check by re entering the code in the console from your paper. (I recommend writing down the Private Key which is in HEX and not the WIF since this one is key sensitive and you can lose it, or write it wrong. Also, out of the private key you can get the WIF which will let you transfer your funds). If you lose your key, you lose your funds. Be careful.
    If auditing the code for this is not enough for you, you can also test the code by inputting a known private keys to tell if the bitcoin address generated is legit or not.
    I recommend you generate several keys and addresses as this process is not super easy to do. Remember that you should never reuse your paper wallets (meaning that you should empty all of the funds from this one adress if you are making a payment). As such, a couple of addresses come handy.
    At this point, there should be no way for information to leak out of the live CD environment. The live CD doesn't store anything on the hard disk, and there is no network connection. Everything that happens from now on will be lost when the computer is rebooted.
    Now, start the "Terminal" program, and type the following command:
    source ~/bitcoin.shThis will load the address-calculation script. Now, use the script to find the Bitcoin address for your private key:
    newBitcoinKey 0x(your dice digits)Replace the part that says "(your dice digits)" with 64 digits found by rolling your pair of hexadecimal dice 32 times. Be sure there is no space between the "0x" and your digits. When all is said and done, your terminal window should look like this:
    [email protected]:~$ source ~/[email protected]:~$ newBitcoinKey 0x8010b1bb119ad37d4b65a1022a314897b1b3614b345974332cb1b9582cf03536---secret exponent: 0x8010B1BB119AD37D4B65A1022A314897B1B3614B345974332CB1B9582CF03536public key: X: 09BA8621AEFD3B6BA4CA6D11A4746E8DF8D35D9B51B383338F627BA7FC732731 Y: 8C3A6EC6ACD33C36328B8FB4349B31671BCD3A192316EA4F6236EE1AE4A7D8C9compressed: WIF: L1WepftUBemj6H4XQovkiW1ARVjxMqaw4oj2kmkYqdG1xTnBcHfC bitcoin address: 1HV3WWx56qD6U5yWYZoLc7WbJPV3zAL6Hiuncompressed: WIF: 5JngqQmHagNTknnCshzVUysLMWAjT23FWs1TgNU5wyFH5SB3hrP bitcoin address: [email protected]:~$The script produces two public addresses from the same private key. The "compressed" address format produces smaller transaction sizes (which means lower transaction fees), but it's newer and not as well-supported as the original "uncompressed" format. Choose which format you like, and write down the "WIF" and "bitcoin address" on a piece of paper. The "WIF" is just the private key, converted to a slightly shorter format that Bitcoin wallet apps prefer.
    Double-check your paper, and reboot your computer. Aside from the copy on the piece of paper, the reboot should destroy all traces of the private key. Since the paper now holds the only copy of the private key, do not lose it, or you will lose the ability to spend any funds sent to the address!
    Conclusion
    With this method you are creating an airgapped environment that will never touch the internet. Also, we are checking that the code we use its not tampered. If this is followed strictly I see virtually no chances of your keys being hacked.
    How to spend your funds from a securely generated paper wallet.
    Almost all tutorials seen online, will let you import or sweep you private keys into the desktop wallet or mobile wallet which are hot wallets. In the meantime, you are exposed and all of your work to secure the cold storage is being thrown away. This method will let you sign the transaction offline (you will not expose your private key in an online system).
    You'll need:
    The source of this method is taken from CryptoGuide from Youtube https://www.youtube.com/watch?v=-9kf9LMnJpI&t=86s . Basically you can follow his video as it is foolproof. Please check that Electrum distribution is signed.
    The summarized steps are:
    Download Electrum on both devices and check its signed for safey.Disconnect your phone from the internet (flight mode= All connections off) and input your private key in ElectrumGenerate the transaction in your desktop and export it via QR (never leave unspent BTC or you will lose them)In your phone, open Electrum > Send > QR (this will import the transaction) and scan the desktop exported transactionSign the transaction in your phone.Export the signed transaction in QRLoad the signed transaction in the desktop Electrum and broadcast it to the network.Wait until 3 confirmations to connect your phone to the internet again.
    Ideas for improvement:
    So thats it. I hope someone can find this helpful or help in creating a better method. If you like, you can donate at 1Che7FG93vDsbes6NPBhYuz29wQoW7qFUH
    submitted by Heron-Express to Bitcoin [link] [comments]

    Not IG but tiktok video that teaches “photography hacks”. Left is a screenshot from the video where they teach you how to pose and right is the final photo.

    Not IG but tiktok video that teaches “photography hacks”. Left is a screenshot from the video where they teach you how to pose and right is the final photo. submitted by baryonxtrix to Instagramreality [link] [comments]

    Most Anticipated Earnings Releases for the week beginning February 03, 2020

    Most Anticipated Earnings Releases for the week beginning February 03, 2020 submitted by RoastedChickenWings to options [link] [comments]

    One of my smallest changes has been among the best.

    I've worked on Way of Steel for almost a decade now, in my quest for RPG combat nirvana. There's a few novel mechanics I'm proud, some of which required tons of testing and tweaking to get right. Weirdly enough, one of the best and most portable (to other systems) mechanics required little more than a change in name: Out with Hit Points, and in with Resolve.
    LET IT BE RESOLVED
    Resolve is a Hero (PC)'s will to fight. It's an intentionally vague amalgamation of physical and mental strain. I describe it as Hit Points, Stamina, Mana, and Sanity all rolled into one. Getting slashed by a sword in battle reduces Resolve. Performing extraordinary combat Stunts or spellcasting costs Resolve. Most importantly, however- the problem that the GM in me was looking to solve- is that doing damn near anything strenuous outside of battle can cost Resolve (or restore it) if the GM decides:
    *Heroes insist on hiking up a mountain in plate armor at noon in summertime? Dock them Resolve. They won't be at full strength to face the Wyvern.
    *Heroes repeatedly brute forcing a skill check like a lock pick or bending bars? Make each attempt cost Resolve. Intense concentration can be just as draining as intense physical exertion.
    *Ranger bags a buck at camp and makes venison steaks for dinner? Extra Resolve recovery.
    ANOTHER TOOL IN THE GM TOOLBAG
    Of course, this is just another tool in the GM's toolbag to use when they feel it is appropriate. For me it serves as a way to "fail forward"- bypassing the puzzle lock on the door by hacking it apart with axes is a viable "solution", but it can have a cost that makes solving the puzzle more attractive. Resolve costs or boons are also a very useful GM "gas pedal" that I can lay on or let off to balance/adjust difficulty on the fly. I run a somewhat more realistic low fantasy world (to match the grit of Way of Steel combat), and oftentimes I'd rather leave a brick of fancy cheese on the mess hall table than a health potion.
    Like any tool, this can be misused and turned into a way to railroad Heroes, or just become an exercise in bookkeeping. But honestly, all that Resolve is doing here is making the primary Hero resource much more flexible than Hit Points.
    I'M NOT THAT CLEVER
    Note: Nothing I've done with Resolve is in any way/shape/form groundbreaking. Other games have done it. I just wanted to encourage this community to consider the myriad benefits it offers through little more than a change of vocabulary and a shift in thinking.
    MORE REASONS TO USE IT
    Some other benefits of Resolve that I've observed over the last two years using it:
    *Speed of Play. This is huge. Heroes (and bad guys too) spend Resolve to use Stunt cards, their main special abilities. This means that their "health bars" are always trickling down, even in a defensive struggle where no one is landing meaningful strikes. It basically is a big sand timer for combat, keeping battles (usually) inside my goal of 30-60 minutes.
    *Easy battles don't feel like cakewalks, as Heroes will still likely expend significant amounts of Resolve. (In WoS, you never really fight at less than 100%, because things can go wrong very quickly.)
    *"Realism". You don't need magical healing. A warm meal, a bard's song, a priest's blessing... all these things restore Resolve just as well as ye olde healthe potione. In fact, you can do some fun things with religion- did that priest ACTUALLY heal you with divine magic, or did his gentle demeanor and familiar prayer just lift your spirits? Who knows?
    *"Realistic" fast healing. Nothing breaks my suspension of disbelief faster than Heroes who go from the brink of death to "completely fine" after 8 hours in a sleeping bag in some frigid cave.
    *In my experience as a (shitty) amateur MMA fighter, "Resolve" is probably closer to reality than HP and Stamina. Squeezing someone's torso brings you closer to the end of your ability to fight. So does getting punched in the ribs. They aren't exactly the same, but putting aside "injury debuffs" the net effect is pretty indistinguishable, and IMO more accurate than in the UFC and boxing video games I used to play which had separate Stamina and Health bars.
    DIE BETTER
    Where Resolve really shines is when you run out of it. Different systems and GM's can take it in different directions, but I do something called Fall or Fight.
    I have talked about FoF in more detail elsewhere (see the first link at the bottom), but the short version is that when you hit 0 Resolve instead of being dead or unconscious, a Hero chooses to Fall or Fight On. Falling simply means you tap out- you can't fight anymore; you're out of the battle. Roleplay it however you like- unconscious, curled in the fetal position clutching wounds, crawling for the exit, etc. But you're out for the rest of battle. If everyone Falls, prep your "escape from the troll kitchen". Perhaps the bandits simply rob the Heroes, and a new nemesis is born. Bottom line, many more options for the GM than a TPK.
    Instead of Falling, a Hero can bravely choose to Fight On, risking permanent disability and/or death to rage against the dying of the light. They draw one (or pick from several) Fight On cards, which tell them how their Hero reacts to impending doom. The front side of the card (the only side they will see for now) has some flavor text and the immediate effects (mechanical bonuses and penalties). If they survive the battle (-10 = death in WoS), the Hero then flips to the reverse of the card to see the consequences of the extreme duress.
    As an example, "Guardian Angel" gives the Hero a significant chance to avoid the final lethal blow. After the battle they might take stock of their religious beliefs (or lack thereof). In any event, that amulet that just so happened to deflect the deadly arrow is trashed.
    This system (A) is awesome and (B) works as a reverse death spiral and buffer to player death, making battles have non-binary outcomes other than flawless victory or death. Consequences, man. There is a ton of room to do interesting narrative things and create lasting grudges, phobias, scars, tales of glory. Heroes actually have some skin in the game, risking lasting consequences to stand fast beside their comrades in arms.
    If you'd like to read more on Fall or Fight, the top link below is a good explanation, albeit of an older concept. The first draft of the new double-sided cards is here, plus older cards and an explanation of the current system.
    Of course, all of these cards are written in Way of Steel parlance that may not make sense to y'all, but I think the general idea of each one shines through. On that note, if anyone here would be interested in helping me port the FoF cards over to D&D 5E, shoot me a message. I think they might get a kick out of em at /dndbehindthescreen, and I've been out of the D&D game too long to get things right.
    Old post- A Better Way to Die: Fall or Fight
    Newest Fight On Cards
    Fall Or Fight v2 Explained
    Old Fight On Cards
    submitted by AllUrMemes to RPGcreation [link] [comments]

    [FO4] After loading a save during combat, cannot save at all anymore, not sure which mod is causing it

    For some reason, if I die during combat and load a save up from there, all the save options will be greyed out for the rest of the time I play, and things like exit auto saves or saving on waits will also not work. I'm not sure what mod is causing it. Heres my list: Fallout4.esm
    DLCRobot.esm
    DLCworkshop01.esm
    DLCCoast.esm
    DLCworkshop02.esm
    DLCworkshop03.esm
    DLCNukaWorld.esm
    Homemaker.esm
    Overlays.esm
    Quick_Modification_Weapon_by_tooun.esl
    SettlementKeywords.esm
    VotWMaster.esm
    VotWSpecialVideos.esl
    Unofficial Fallout 4 Patch.esp
    PowerArmorIntercomVoice_Balanced.esl
    ArmorKeywords.esm
    PANPC.esm
    WorkshopFramework.esm
    SS2.esm
    Robot Home Defence.esm
    TrueStormsFO4.esm
    SavrenXFoodAndFoodware.esp
    Consistent Power Armor Overhaul.esp
    CraftableAmmo.esp
    CraftableAmmo_plus.esp
    AA_CommonwealthConifersREDUX_SEASONS.esp
    AES_Renovated Furniture.esp
    UltraInteriorLighting.esp
    PlayerComments.esp
    UnbogusFallout.esp
    PiperCaitCurieDialogueOverhaul.esp
    BostonFPSFixAIO.esp
    SOTS.esp Armorsmith Extended.esp
    AEWS.esp
    Binary Speech Checks V.4 Hard.esp
    dD-Enhanced Blood Basic.esp
    EasyHacking.esp
    Eli_Crafting Shiz 9000.esp
    UnbogusFalloutVIS.esp
    Extended weapon mods.esp
    FAR.esp
    Faster Terminal Displays (20x).esp
    FlaconOil_BA2_2K_Part3.esp
    NAC.esp
    GR123 West Tek Tactical Gloves.esp
    Homemaker - Streetlights Use Passive Power.esp
    Homemaker - Unlocked Institute Objects.esp
    jDS__HP_Skull_Mask.esp
    LooksMenu.esp
    LoweredSprintAPDrain.esp
    Metro Gas Masks.esp
    Multiple Floors Sandboxing.esp
    RadiantBirdsv05.esp
    Reverb and Ambiance Overhaul.esp
    TrueStormsFO4-FarHarbor.esp
    NAC-FH.esp
    NAC-NW.esp
    Nexus_PMC.esp
    OCDecorator.esp
    OCDecorator - No Experience.esp
    OCDecoratorDLC.esp
    OCDispenser.esp
    Passive Camera Shake - Reduced.esp
    Passthrough.esp
    RAW INPUT.esp
    Realistic Roads - Black Asphalt.esp
    REAPER.esp
    RightHandedHuntingRifle.esp
    SettleObjExpandPack.esp
    SolarPower.esp
    TFRangerGear.esp
    TrueGrass.esp
    USP .45_by_tooun.esp
    WestTekTacticalOptics.esp
    WET.esp
    WheelMenu.esp
    XM2010_SniperRifle_by_tooun.esp
    WET NAC Patch.esp
    Vivid Fallout - All in One - Best Choice.esp
    UnbogusFallout_LessXP25.esp
    3DNPC_FO4.esp
    OutcastsAndRemnants.esp
    FALLOUT4WT.esp
    Mercenary.esp
    RaiderOverhaul.esp
    Unique NPCs.esp
    Unique NPCs - Creatures and Monsters.esp
    GoodneighborExpanded.esp
    SuperMutantRedux.esp
    DeadlierDeathclaws.esp
    Brotherhood Power Armor Overhaul.esp
    More Power Armour Mods.esp
    TrainBar.esp
    America Rising - A Tale of the Enclave.esp
    Eli_Armour_Compendium.esp
    Some Assembly Required.esp
    CBBE.esp
    Colt6520.esp
    def_inv_scrap_en.esp
    D.E.C.A.Y.esp
    Ferals After Dark.esp
    Galac-TactREDUX.esp
    Glowing Animals Emit Light.esp
    LOST Audio Tweaks.esp
    NoLoopingWeaponSounds.esp
    SuperMutantRedux VIS Patch.esp
    SuperMutantRedux_ArmorSmithExtended.esp
    Unique NPCs - Creatures and Monsters_SMR_AE.esp
    ChaChingTradeSilentXP.esp
    Synth Overhaul.esp
    AzarPonytailHairstyles.esp
    BetterSettlers.esp
    W.A.T.Minutemen.esp
    Eli_Faction Housing Overhaul - Prydwen.esp
    The Sanctuary Bridge.esp
    USAF_Silo_Beta.esp
    ProjectHelljumper.esp
    3DNPC_FO4Settler.esp
    MK18.esp
    SubmersiblePowerArmorRedux.esp
    Wana_SA58.esp
    FO4 NPCs Travel.esp
    AKMnv.esp
    AK400.esp
    AkaWaterWorld.esp
    AtomicRadio.esp
    AT - Atomic Radio RAO Patch.esp
    BasementLiving.esp
    DOOMPumpShotgun.esp
    HuntingRevolver.esp
    MP7.esp
    GIAT_FAMAS.esp
    HK_MP5.esp
    SSEX.esp
    SalvageBeacons.esp
    Realistic Death Physics - ALL DLC.esp
    RadioReverbFix.esp
    Project Reality Footsteps FO4.esp
    NoTwigs.esp
    McMillanCS5.esp
    AT - True Storms and RAO Patch.esp
    ImmersiveVendors.esp
    DT_GunnerOutfitPack.esp
    GruffyddsSignsAndPosters.esp
    G36Complex.esp
    FlaconOil_BA2_2K_Part2.esp
    FlaconOil_BA2_1K_Part1.esp
    Fallout Suite.esp
    Factor.esp
    EPO.esp
    EasyLockpicking.esp
    CF_AtomicWarlord.esp
    chem redux.esp
    AnimChemRedux.esp
    UnbogusPatch_AnimChemRedux.esp
    Ambient Wasteland.esp
    AlternateSettlements.esp
    P90.esp
    P90NPC.esp
    My_Minutemen.esp
    Unique NPCs FarHarbor.esp
    Unique NPCs_SpecialSettlers_Robots_Synths.esp
    Unique_NPCs_SuperMutantRedux.esp
    AnS Wearable Backpacks and Pouches.esp
    BossChestsHaveLegendaries.esp
    BrighterSettlementLights_LongAndSoft.esp
    Companion Infinite Ammo.esp
    CROSS_GoreCrits.esp
    CROSS_GoreCrits_FarHarborPatch.esp
    DV-Very Durable Vertibirds.esp
    FO4Hotkeys.esp
    FO4LaserBolts.esp
    KSHairdos.esp
    LongerPowerLines3x.esp
    LovingPiper-TrueReporterSE.esp
    More Where That Came From Diamond City.esp
    PA-Quick Animations.esp
    Tactical Flashlights.esp
    Tactical Flashlights - Settings.esp
    The Eyes Of Beauty.esp
    TrueReporter.esp
    TrueStormsFO4-FarHarborExtraRads.esp
    TrueStormsFO4-GlowingSeaExtraRads.esp
    WAYN_CompanionTracking.esp
    WestTekTacticalOptics-AWKCR.esp
    BetterSettlersCCAPack2.0.esp
    DCGuardOutfitOverride.esp
    Insignificant Object Remover.esp
    UnbogusPatch_DOOMPumpShotgun.esp
    NoBlurOnHit.esp
    PAMAP.esp
    CPAO - PAMAP 2.0 Patch.esp
    More Power Armour Mods - Automatron.esp
    Pip-Boy Flashlight.esp
    StartMeUp.esp
    submitted by CreamGravyPCMR to FalloutMods [link] [comments]

    HIRE A HACKER: SOLIDARITY HACKER FOR HIRE REVIEWS

    BEST HACKER FOR HIRE TO HACK A CELL PHONE Hire a hacker that needs not to jailbreak your phone in order to use these iOS hacking apps. Once you do that, the option to get the seniorhackers app/service often comes up with an address for you to contact for further directives. The ethical hacking services can be used to analyze keychain contents, including passwords, keys, certificates and messages etc. for any sensitive information.
    Speaking in developer language, seniorhacker.tech offers binary analysis using o tool, keychain analysis using keychain_dumper, working, Binary decryption using dump decrypted and database reading using SQLite. Besides these functions, the hacking tool also lets you create, edit and install the tweaks.
    The iOS hacking app was developed by senior hackers for an easy to use web GUI and can be used in various programming functions such as Cycript integration, class dumps, automatic jailbreak-detection bypasses, automatic SSL certificate pinning bypasses, re-implemented objc_msgSend for logging and tracing function calls in real-time.
    SOLIDARITY HACKER REVIEWS — Best iOS / MOBILE PHONE Hacking Application For iOS Myriam iOS Security App was developed by security researcher and GitHub user Solidarityhacker who created a learning platform for hack techies to become the next big iOS hackers where people can Hire a Hacker. As a result, this iOS hacking tool is the perfect place to start for any newbie iOS hacker to develop their skills.
    Some of the hacking challenges a.k.a. device vulnerabilities that newbie hackers can exploit with this mobile hacking application include Authentication, In-App Data modification, App Activation Bypass, Jailbreak Detection, In-App Resources, and variable Modification.
    To Provide a powerful tool that makes use of the widely-used Nmap scanner in the background to map and scan the connected networks. Once you install the Network Mapper app from Play Store, it will automatically download and install the required Nmap binaries from the Internet and provide you with an easy-to-use GUI to perform scans. Using Network Mapper, you can do a comprehensive scan on the network to identify live hosts and gather a range of information like open ports, network attributes, OS information, etc.
    Trustworthy Certified Ethical Hackers For Hire
    Solidarityhacker.com/services/ Hackers For Hire committed to excellence. There are situations when you just think how to hire a hacker, but you just hesitate to contact a hacker. Feel free to get in touch with us and maybe we might offer you the exact hire a hacker service you are looking for.
    Here are a few of most widely used hacker for hire services.

    Hire a Hacker Today! Your identity will be kept anonymous, Send a message to [email protected]
    submitted by jhondaski5444 to u/jhondaski5444 [link] [comments]

    $AMZN, $500 into $10K

    $AMZN, $500 into $10K submitted by heyitsathrowawayokay to options [link] [comments]

    Working configuration for Xiaomi Mi Desk Lamp 1S (ESP32)

    I did a lot of reverse engineering and try and error and finally came up with the following config that works with the Xiaomi Mi Desk Lamp 1S. It offers the same features as the original firmware and can of course be extended to do a lot more than that.
    There is still a little hack in the esphome: section to get it running on the single core ESP32, but I‘ve seen in another thread that someone opened an issue to officially support that eventually.
    The original thread with the progress behind that "Project" is here.
    If someone has inputs to improve the configuration, I'd be happy to hear it.
    esphome: name: Mi_Desk_Lamp_1S platform: ESP32 board: esp32doit-devkit-v1 platformio_options: platform: [email protected] platform_packages: |-4 framework-arduinoespressif32 @ https://github.com/pauln/arduino-esp32.git#solo-no-mac-crc/1.0.4 wifi: ssid: 'SSID' password: 'PASSWORD' ota: api: password: 'PASSWORD' logger: sensor: - platform: rotary_encoder id: rotation pin_a: GPIO27 pin_b: GPIO26 resolution: 2 on_value: then: - if: condition: # Check if Button is pressed while rotating lambda: 'return id(button).state;' then: # If Button is pressed, change CW/WW - lambda: |- auto min_temp = id(light1).get_traits().get_min_mireds(); auto max_temp = id(light1).get_traits().get_max_mireds(); auto cur_temp = id(light1).current_values.get_color_temperature(); auto new_temp = max(min_temp, min(max_temp, cur_temp + (x*20))); auto call = id(light1).turn_on(); call.set_color_temperature(new_temp); call.perform(); else: # If Button is not pressed, change brightness - light.dim_relative: id: light1 relative_brightness: !lambda |- return x / 10.0; # Reset Rotation to 0 - sensor.rotary_encoder.set_value: id: rotation value: 0 binary_sensor: - platform: gpio id: button pin: number: GPIO33 inverted: True mode: INPUT_PULLDOWN on_click: then: # use if-condition instead of toggle to set full brightness on turn_on - if: condition: light.is_on: light1 then: - light.turn_off: id: light1 else: - light.turn_on: id: light1 brightness: 100% color_temperature: 2700 K output: - platform: ledc pin: GPIO2 id: output_cw min_power: 0.03 power_supply: power - platform: ledc pin: GPIO4 id: output_ww min_power: 0.03 power_supply: power power_supply: - id: power pin: GPIO12 enable_time: 0s keep_on_time: 0s light: - platform: cwww id: light1 default_transition_length: 0s constant_brightness: true name: "Lights" cold_white: output_cw warm_white: output_ww cold_white_color_temperature: 5000 K warm_white_color_temperature: 2600 K 
    submitted by erwinbamert to Esphome [link] [comments]

    Is this Legal? My boss says yes, but I don't believe him

    Is this Legal? My boss says yes, but I don't believe him submitted by no-name3232 to OSHA [link] [comments]

    11-04 23:47 - 'DON'T USE THIS' (self.linux) by /u/CreeperTyE removed from /r/linux within 6-16min

    '''
    This is for cyberpatriots, pls don't use this.
    #!/bin/bash
    # CyberPatriot Ubuntu (Trusty Tahr) Script v0.3.5
    # Root is required to run this script, but chmod should not be used on script or run as root.
    # User running script must be in group 'sudo'.
    #
    # Not everything is covered in this script. Please make sure to review checklist and the Securing Debian Manual.
    # This script is only meant to be used for whichever team Keita Susuki is on.
    # CHANGES: sed is now more often used to find and replace instead of append to config files
    function main {
    kernel_info=$(uname -a)
    time=$(date)
    display_info=$(whoami)
    sshd="/etc/ssh/sshd_config"
    apache_s="/etc/apache2/apache2.conf"
    vsftpd_s="/etc/vsftpd.conf"
    echo "---------------------------------------------------------"
    echo "Script version: v0.3.5"
    echo "Current User: $display_info"
    echo "Team: Binary Bros"
    echo "Current Time: $time"
    echo "Kernel info: $kernel_info"
    echo "Now, what can I do for you today?"
    echo "---------------------------------------------------------"
    echo -en '\n'
    read -p "Press ENTER to continue."
    echo -en '\n'
    echo "WARNING: IF YOU HAVE NEGLECTED TO COMPLETE THE FORENSICS QUESTIONS, IMMEDIATELY CTRL+C THIS SCRIPT."
    echo "HAVE YOU COMPLETED ALL THE FORENSICS QUESTIONS? [Y/N]"
    read -r forensic_questions
    if [[ $forensic_questions == "y" || $forensic_questions == "Y" ]]; then
    clear
    echo "Good. Now let's start working."
    elif [[ $forensic_questions == "n" || $forensic_questions == "N" ]]; then
    echo "Finish the forensics questions and come back."
    exit
    else
    echo "Error: bad input."
    fi
    echo "Before using apt, we need to check to see if sources.list hasn't been tampered with."
    echo "Redirecting you to /etc/apt/sources.list in 5 seconds..."
    sleep 5
    sudo gedit /etc/apt/sources.list
    echo "Securing /run/shm."
    echo "r-- is dangerous, only on servers if there is no reason for /run/shm."
    echo "Read only /run/shm can cause many programs to break. Be cautious."
    echo -en '\n'
    echo "Options:"
    echo "Mount /run/shm r-- (read-only) [r]"
    echo "Mount /run/shm rw- (read-write) [w]"
    echo "Skip this method. [x]"
    read -r shared_memory
    if [[ $shared_memory == "r" || $shared_memory == "R" ]]; then
    echo "none /run/shm tmpfs defaults,ro 0 0" | sudo tee -a /etc/fstab
    echo "Done. Restart box after script has run its course."
    elif [[ $shared_memory == "w" || $shared_memory == "w" ]]; then
    echo "none /run/shm tmpfs rw,noexec,nosuid,nodev 0 0" | sudo tee -a /etc/fstab
    echo "Done. Restart box after script has run its course."
    elif [[ $shared_memory == "x" || $shared_memory == "X" ]]; then
    echo "Understood. Check UnsafeDefaults page on Ubuntu's website."
    fi
    echo -en '\n'
    echo "Next, we will check hosts file. Make sure nothing looks amiss (default config)."
    echo "Redirecting you to hosts file in 5 seconds..."
    sleep 5
    sudo gedit /etc/hosts
    echo -en '\n'
    echo "See if nameserver is unfamiliar, if it is, change to google public (8.8.8.8)."
    echo "Redirecting you in 3 seconds..."
    sudo gedit /etc/resolv.conf
    echo -en '\n'
    echo "I will now install packages necessary for the security of the system."
    echo -en '\n'
    sudo apt-get -y -qq install rkhunter clamav clamtk gufw ufw libpam-cracklib vim nmap sysv-rc-conf bum unattended-upgrades logcheck lynis members auditd chkrootkit fail2ban
    echo -en '\n'
    echo "Configuring automatic upgrades.."
    sudo dpkg-reconfigure --priority=low unattended-upgrades
    echo "Would you like to manually use gufw or have the script automatically use ufw and close off ports?"
    echo -en '\n'
    echo "Options:"
    echo "g: gufw"
    echo "a: auto ufw"
    echo "ga: ufw then manual gufw"
    read -r firewall_config
    if [[ $firewall_config == "g" || $firewall_config == "G" ]]; then
    echo "Opening gufw in 5 seconds..."
    sleep 5
    sudo gufw
    elif [[ $firewall_config == "a" || $firewall_config == "A" ]]; then
    sudo ufw enable
    sudo ufw deny 23
    sudo ufw deny 2049
    sudo ufw deny 515
    sudo ufw deny 111
    sudo ufw deny 9051
    sudo ufw deny 31337
    sudo ufw status
    echo "Automatic configuration of firewall completed. I recommend that you look over this again."
    sleep 10
    elif [[ $firewall_config == "ga" || $firewall_config == "GA" ]]; then
    sudo ufw enable
    sudo ufw deny 23
    sudo ufw deny 2049
    sudo ufw deny 515
    sudo ufw deny 111
    sudo ufw deny 9051
    sudo ufw deny 31337
    sudo gufw
    else
    echo "Error: bad input."
    fi
    clear
    echo -en '\n'
    echo "Running nmap on 127.0.0.1 to display open ports..." # nmap isn't considered a "hacking tool"
    echo "Would you also like to save output to nmap_output.txt [y/n]?"
    echo -en '\n'
    read -r nmap_input
    if [[ $nmap_input == "y" || $nmap_input == "Y" ]]; then
    echo "Sending output to nmap_output.txt.."
    touch nmap_output.txt
    echo "Running nmap on localhost again so you can see the output."
    nmap -sV 127.0.0.1 > nmap_output.txt
    sleep 10
    echo -en '\n'
    elif [[ $nmap_input == "n" || $nmap_input == "N" ]]; then
    echo "Understood. Running nmap on localhost.."
    nmap -sV 127.0.0.1
    sleep 10
    echo -en '\n'
    else
    echo "Error: bad input."
    echo -en '\n'
    fi
    echo "Now please disable unneeded processes keeping ports open."
    sleep 5
    sudo sysv-rc-conf # preferred tool for this
    echo -en '\n'
    echo "Please make sure there is nothing besides exit 0 and some comments."
    sleep 5
    sudo vim /etc/rc.local
    echo -en '\n'
    echo "Checking for sshd_config file"
    if [ -f "$sshd" ]; then
    echo "sshd is present on this system."
    echo "Is sshd a critical service on this machine? [y/n]"
    echo "note: selecting N will remove sshd from this system. Proceed with caution."
    read -r sshd_critical
    if [[ $sshd_critical == "y" || $sshd_critical == "Y" ]]; then
    sshd_secure_config
    elif [[ $sshd_critical == "n" || $sshd_critical == "N" ]]; then
    echo "Understood, moving on."
    else
    echo "Error: bad input."
    fi
    echo -en '\n'
    echo "Would you like to restart sshd? [y/n]"
    read -r sshd_restart_uinput
    if [[ $sshd_restart_uinput == "Y" || $sshd_restart_uinput == "y" ]]; then # may take points and then give back
    echo "Restarting sshd..."
    sudo service sshd restart
    elif [[ $sshd_restart_uinput == "n" || $sshd_restart_uinput == "N" ]]; then
    echo "Understood. Remember that changes will not happen until sshd is restarted."
    else
    echo "Error: bad input."
    fi
    fi
    clear
    echo -en '\n'
    echo "Disabling guest user and turning off autologin. Editing /etc/lightdm/lightdm.conf"
    echo "Checklist reference: GENERAL/8 Alpha, Bravo"
    echo "Remember to restart lightdm or restart box later on."
    echo "I will direct you there in 5 seconds."
    sleep 5
    sudo vim /etc/lightdm/lightdm.conf
    echo -en '\n'
    printf "Now, would you like for me to add some better settings for /etc/sysctl.conf? [y\n]"
    read -r secure_sysctl
    if [[ $secure_sysctl == "y" || $secure_sysctl == "Y" ]]; then
    sysctl_secure_config
    elif [[ $secure_sysctl == "n" || $secure_sysctl == "N" ]]; then
    echo -en '\n'
    echo "Understood, I recommend you do this manually however."
    else
    echo -en '\n'
    echo "Error: bad input"
    fi
    echo -en '\n'
    echo "Lock the root account? [y/n]"
    read -r disable_root
    echo -en '\n'
    if [[ $disable_root == "y" || $disable_root == "Y" ]]; then
    sudo passwd -l root
    echo "Root account locked."
    elif [[ $disable_root == "n" || $disable_root == "N" ]]; then
    echo "Understood, manually lock please."
    else
    echo "Bad input."
    fi
    clear
    echo -en '\n'
    echo "Limit access to su to all users but the ones in group wheel? [y/n]"
    echo -en '\n'
    read -r lim_su
    if [[ $lim_su == "y" || $lim_su == "Y" ]]; then
    sudo chown [link]1 /bin/su sudo
    chmod 04750 /bin/su
    echo "Done."
    elif [[ $lim_su == "n" || $lim_su == "N" ]]; then
    echo "Remember to manually limit access to su! All it takes is a single uncomment..."
    else
    echo "Bad input."
    fi
    clear
    if [[ -f "$apache_s" ]]; then
    echo "Is apache2 supposed to be installed on this system? [y/n]"
    echo "If you choose N then you will subsequently uninstall apache2. Be careful."
    read -r apache2_que
    if [[ $apache2_que == "y" || $apache2_que == "Y" ]]; then
    echo "Understood, moving on to securing apache2."
    apache2_secure
    elif [[ $apache2_que == "n" || $apache2_que == "N" ]]; then
    echo "Uninstalling apache2..."
    sudo service apache2 stop
    sudo apt-get purge apache2
    else
    echo "Bad input."
    fi
    else
    echo "Apache2 is not installed, moving on."
    fi
    if [[ -f "$vsftpd_s" ]]; then
    echo "vsftpd configuration file detected."
    echo "Is vsftpd a critical service on this machine? [y/n]"
    echo "If you choose N then you will subsequently uninstall vsftpd. Be careful."
    read -r vsftpd_choice
    if [[ $vsftpd_choice == "y" || $vsftpd_choice == "Y" ]]; then
    echo "Understood, moving on to securing vsftpd."
    vsftpd_secure
    elif [[ $vsftpd_choice == "n" || $vsftpd_choice == "N" ]]; then
    sudo service vsftpd stop
    sudo apt-get purge vsftpd
    else
    echo "Bad input."
    fi
    else
    echo "vsftpd is not installed on this machine, moving on."
    fi
    clear
    echo "Check apparmor? [y/n]"
    read -r apparmor_check
    if [[ $apparmor_check == "y" || $apparmor_check == "Y" ]]; then
    apparmor_fix
    elif [[ $apparmor_check == "n" || $apparmor_check == "N" ]]; then
    echo "Understood, moving on."
    echo -en '\n'
    else
    echo "Error: bad input."
    fi
    echo -en '\n'
    echo "Deny su to non admins? [y/n]"
    echo -en '\n'
    read -r deny_su
    if [[ $deny_su == "y" || $deny_su == "Y" ]]; then
    sudo dpkg-statoverride --update --add root sudo 4750 /bin/su
    echo "Done."
    elif [[ $deny_su == "n" || $deny_su == "N" ]]; then
    sudo "Understood, moving on."
    else
    echo "Error: bad input."
    fi
    echo -en '\n'
    echo "Secure home directory? [y/n]"
    echo "NOTE: potentially dangerous."
    echo -en '\n'
    read -r home_secure
    if [[ $home_secure == "y" || $home_secure == "Y" ]]; then
    echo "What is your username?"
    echo "I need it so I can chmod 0700 your home directory."
    read -r username_uinput
    sudo chmod 0700 /home/"$username_uinput"
    echo "Thanks!."
    elif [[ $home_secure == "n" || $home_secure == "N" ]]; then
    echo "Understood, moving on."
    else
    echo "Error: bad input."
    fi
    clear
    echo -en '\n'
    echo "Prevent IP spoofing? [y/n]"
    echo "(/etc/host.conf)"
    read -r ip_spoof
    echo -en '\n'
    if [[ $ip_spoof == "y" || $ip_spoof == "Y" ]]; then
    echo "order bind,hosts" | sudo tee -a /etc/host.conf
    echo "nospoof on" | sudo tee -a /etc/host.conf
    echo "IP spoofing disabled."
    elif [[ $ip_spoof == "n" || $ip_spoof == "N" ]]; then
    echo "Understood, skipping disabling ip spoofing."
    else
    echo "Error: bad input."
    fi
    echo "Would you like to edit /etc/pam.d? [y/n]"
    read -r pam_secure
    if [[ $pam_secure == "y" || $pam_secure == "Y" ]]; then
    echo "Use subroutine pam_secure? [y/n]"
    read -r choose_pam_secure
    if [[ $choose_pam_secure == "y" || $choose_pam_secure == "Y" ]]; then
    pam_secure
    elif [[ $choose_pam_secure == "n" || $choose_pam_secure == "N" ]]; then
    echo "Understood, moving on."
    else
    echo "Error: bad input."
    fi
    echo "Redirecting you to /etc/pam.d/common-password. Use checklist."
    echo "Checklist reference: GENERAL/10 ALPHA"
    echo -en '\n'
    sleep 5
    sudo vim /etc/pam.d/common-password
    echo -en '\n'
    echo "Redirecting you to /etc/pam.d/common-auth. Use checklist."
    echo "Checklist reference: GENERAL/10 BRAVO"
    sleep 5
    sudo vim /etc/pam.d/common-auth
    echo -en '\n'
    echo "Redirecting you to /etc/login.defs. Use checklist."
    echo "Checklist reference: GENERAL/10 CHARLIE"
    sleep 5
    sudo vim /etc/login.defs
    elif [[ $pam_secure == "n" || $pam_secure == "N" ]]; then
    echo "Understood, will skip securing pam.d. Make sure to use the checklist and do so manually."
    else
    echo "Sorry, bad input."
    fi
    clear
    echo -en '\n'
    echo "Would you like to delete media files? [y/n]"
    echo "Warning: Feature untested due to obvious reasons."
    echo -en '\n'
    read -r media_input
    if [[ $media_input == "y" || $media_input == "Y" ]]; then
    sudo find / -name '*.mp3' -type f -delete
    sudo find / -name '*.mov' -type f -delete
    sudo find / -name '*.mp4' -type f -delete
    sudo find / -name '*.avi' -type f -delete
    sudo find / -name '*.mpg' -type f -delete
    sudo find / -name '*.mpeg' -type f -delete
    sudo find / -name '*.flac' -type f -delete
    sudo find / -name '*.m4a' -type f -delete
    sudo find / -name '*.flv' -type f -delete
    sudo find / -name '*.ogg' -type f -delete
    sudo find /home -name '*.gif' -type f -delete
    sudo find /home -name '*.png' -type f -delete
    sudo find /home -name '*.jpg' -type f -delete
    sudo find /home -name '*.jpeg' -type f -delete
    elif [[ $media_input == "n" || $media_input == "N" ]]; then
    echo "Understood, manually search and destroy media files."
    else
    echo "Error: bad input."
    fi
    echo -en '\n'
    clear
    echo "Would you like to install updates? [y/n]"
    read -r update_input
    if [[ $update_input == "y" || $update_input == "Y" ]]; then
    sudo apt-get -qq -y update
    sudo apt-get -qq -y upgrade
    sudo apt-get -qq -y dist-upgrade
    sudo apt-get -qq -y autoremove
    elif [[ $update_input == "n" || $update_input == "N" ]]; then
    echo "Understood, moving on."
    echo -en '\n'
    else
    echo "Error: bad input."
    echo -en '\n'
    fi
    sudo freshclam
    clear
    echo "Run chkrootkit and rkhunter? [y/n]"
    read -r rootkit_chk
    if [[ $rootkit_chk == "y" || $rootkit_chk == "Y" ]]; then
    touch rkhunter_output.txt
    echo "Rkhunter output file created as rkhunter_output.txt."
    touch chkrootkit_output.txt
    echo "chkrootkit output file created as chkrootkit_output.txt."
    sudo chkrootkit | tee chkrootkit_output.txt
    sudo rkhunter -c | tee rkhunter_output.txt
    elif [[ $rootkit_chk == "n" || $rootkit_chk == "N" ]]; then
    echo "Understood, moving on."
    else
    echo "Error: bad input."
    fi
    sudo clamscan -r /
    clear
    echo -en '\n'
    sleep 5
    touch lynis_output.txt
    echo "Lynis output file created as lynis_output.txt."
    sudo lynis -c | tee lynis_output.txt
    echo "Enable apparmor? [y/n]"
    read -r apparmor_enabling
    if [[ $apparmor_enabling == "y" || $apparmor_enabling == "Y" ]]; then
    sudo perl -pi -e 's,GRUB_CMDLINE_LINUX="(.*)"$,GRUB_CMDLINE_LINUX="$1 apparmor=1 security=apparmor",' /etc/default/grub
    sudo update-grub
    elif [[ $apparmor_enabling == "n" || $apparmor_enabling == "N" ]]; then
    echo "Understood, you should enable it however."
    else
    echo "Error: bad input."
    fi
    echo "The script has run it's course."
    echo "Remember to manually check config files and finish any changes."
    echo -en '\n'
    echo "--------------------------------------------------------"
    echo "INFORMATION"
    echo "--------------------------------------------------------"
    echo "Current User: $display_info"
    echo "Current Time: $time"
    echo "Kernel info: $kernel_info"
    echo "--------------------------------------------------------"
    echo -en '\n'
    read -p "Press ENTER to reboot the system."
    sudo reboot
    }
    function apache2_secure {
    sudo apt-get -y install libapache2-modsecurity
    sudo apt-get -y install libapache2-modevasive
    sudo sed -i 's/^#?ServerSignature .*/ServerSignature Off/g' /etc/apache2/conf-enabled/security.conf
    sudo sed -i 's/^#?ServerTokens .*/ServerTokens Off/g' /etc/apache2/conf-enabled/security.conf
    sudo sed -i 's/^#?Options .*/Options None/g' /etc/apache2/apache2.conf
    sudo sed -i 's/^#?AllowOverride .*/AllowOverride None/g' /etc/apache2/apache2.conf
    sudo sed -i 's/^#?Require*/Require all granted/g' /etc/apache2/apache2.conf
    sudo sed -i 's/^#?LimitRequestBody*/LimitRequestBody 204800/g' /etc/apache2/apache2.conf
    echo "" | sudo tee -a /etc/apache2/apache2.conf
    echo "Order deny, allow" | sudo tee -a /etc/apache2/apache2.conf
    echo "Deny from all" | sudo tee -a /etc/apache2/apache2.conf
    echo "Check if mod_security module is running..."
    echo "
    " | sudo tee -a /etc/apache2/apache2.conf
    sudo sed -i 's/^#?Timeout*/Timeout 15/g' /etc/apache2/apache2.conf
    sudo sed -i 's/^#?LimitXMLRequestBody*/LimitXMLRequestBody 204800/' /etc/apache2/apache2.conf
    sudo apachectl -M | grep --color security
    echo "Is mod_security on? It should say security2_module somewhere."
    read -r security_a2_on
    if [[ $security_a2_on == "y" || $security_a2_on == "Y" ]]; then
    echo "Good. I will move on."
    elif [[ $security_a2_on == "n" || $security_a2_on == "N" ]]; then
    sudo mv /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf
    sudo sed -i 's/^#?SecRuleEngine .*/SecRuleEngine On/g' /etc/modsecurity/modsecurity.conf
    sudo service apache2 restart
    else
    echo "Error: bad input."
    fi
    return 1
    }
    function pam_secure {
    sudo sed -i 's/^#?PASS_MAX_DAYS .*/PASS_MAX_DAYS 90/g' /etc/login.defs
    sudo sed -i 's/^#?PASS_MIN_DAYS .*/PASS_MIN_DAYS 7/g' /etc/login.defs
    sudo sed -i 's/^#?PASS_WARN_AGE .*/PASS_WARN_AGE 7/g' /etc/login.defs
    echo "Setup failed login attempts in /etc/pam.d/common-auth and add some config changes? [y/n]"
    read -r fail_pamd_ca
    if [[ $fail_pamd_ca == "y" || $fail_pamd_ca == "Y" ]]; then
    echo "auth optional pam_tally.so deny=5 unlock_time=900 onerr=fail audit even_deny_root_account silent" | sudo tee -a /etc/pam.d/common-auth
    sudo sed -i 's/^#?pam_unix.so .*/password [success=1 default=ignore] pam_unix.so obscure use_authtok try_first_pass sha512
    remember=10 minlen=8 difok=5/g' /etc/pam.d/common-password
    elif [[ $fail_pamd_ca == "n" || $fail_pamd_ca == "N" ]]; then
    echo "Understood, moving on."
    else
    echo "Error: bad input."
    fi
    echo "Create brutally paranoid configuration for /etc/pam.d/other? [y/n]"
    echo "NOTE: IF PAM FILES ARE DELETED ACCIDENTALLY, SYSTEM FAILURE MAY OCCUR."
    read -r other_paranoid
    if [[ $other_paranoid == "y" || $other_paranoid == "Y" ]]; then
    echo "auth required pam_deny.so" | sudo tee -a /etc/pam.d/other
    echo "auth required pam_warn.so" | sudo tee -a /etc/pam.d/other
    echo "account required pam_deny.so" | sudo tee -a /etc/pam.d/other
    echo "account required pam_warn.so" | sudo tee -a /etc/pam.d/other
    echo "password required pam_deny.so" | sudo tee -a /etc/pam.d/other
    echo "password required pam_warn.so" | sudo tee -a /etc/pam.d/other
    echo "session required pam_deny.so" | sudo tee -a /etc/pam.d/other
    echo "session required pam_warn.so" | sudo tee -a /etc/pam.d/other
    elif [[ $other_paranoid == "n" || $other_paranoid == "N" ]]; then
    echo "Understood, moving on."
    else
    echo "Error: bad input."
    fi
    return 1
    }
    function vsftpd_secure {
    sudo sed -i 's/^anonymous_enable=.*/anonymous_enable=NO/g' /etc/vsftpd.conf
    echo "Anonymous FTP login disabled."
    sudo sed -i 's/^chroot_local_user=.*/chroot_local_user=YES/g' /etc/vsftpd.conf
    echo "Local users restricted to their home directories."
    echo "Create SSL/TLS certificate and private key for vsftpd server? [y/n]"
    read -r ssl_vsftpd
    if [[ $ssl_vsftpd == "y" || $ssl_vsftpd == "Y" ]]; then
    sudo openssl req -x509 -days 365 -newkey [link]2 -nodes -keyout /etc/vsftpd.pem -out /etc/vsftpd.pem
    echo "Created."
    echo "Making config changes..."
    sudo sed -i 's/^#?ssl_enable=.*/ssl_enable=YES/g' /etc/vsftpd.conf #enable tls/ssl
    echo "SSL enabled."
    sudo sed -i 's/^#?allow_anon_ssl=.*/allow_anon_ssl=NO/g' /etc/vsftpd.conf
    sudo sed -i 's/^#?force_local_data_ssl=.*/force_local_data_ssl=YES/g' /etc/vsftpd.conf
    sudo sed -i 's/^#?force_local_logins_ssl=.*/force_local_logins_ssl=YES/g' /etc/vsftpd.conf
    sudo sed -i 's/^#?ssl_tlsv1=.*/ssl_tlsv1=YES/g' /etc/vsftpd.conf
    sudo sed -i 's/^#?ssl_sslv2=.*/ssl_sslv2=NO/g' /etc/vsftpd.conf
    sudo sed -i 's/^#?ssl_sslv3=.*/ssl_sslv3=NO/g' /etc/vsftpd.conf
    sudo sed -i 's/^#?require_ssl_reuse=.*/require_ssl_reuse=NO/g' /etc/vsftpd.conf
    sudo sed -i 's/^#?ssl_ciphers=.*/ssl_ciphers=HIGH/g' /etc/vsftpd.conf
    sudo sed -i 's/^#?rsa_cert_file=.*/rsa_cert_file=/etc/vsftpd.pem/g' /etc/vsftpd.conf
    sudo sed -i 's/^#?rsa_private_key_file=.*/rsa_private_key_file=/etc/vsftpd.pem/g' /etc/vsftpd.conf
    sudo sed -i 's/^#?pasv_max_port=.*/pasv_max_port=65535/g' /etc/vsftpd.conf
    sudo sed -i 's/^#?pasv_min_port=.*/pasv_min_port=64000/g' /etc/vsftpd.conf
    sudo sed -i 's/^#?local_max_rate=.*/local_max_rate=30000/g' /etc/vsftpd.conf
    sudo sed -i 's/^#?idle_session_timeout=.*/idle_session_timeout=120/g' /etc/vsftpd.conf
    sudo sed -i 's/^#?max_per_ip=.*/max_per_ip=15/g' /etc/vsftpd.conf
    sudo sed -i 's/^#?xferlog_enable=.*/xferlog_enable=YES/g' /etc/vsftpd.conf
    sudo sed -i 's/^#?xferlog_std_format=.*/xferlog_std_format=NO/g' /etc/vsftpd.conf
    sudo sed -i 's/^#?xferlog_file=.*/xferlog_file=/valog/vsftpd.log/g' /etc/vsftpd.conf
    echo "Log file set at /valog/vsftpd.log"
    sudo sed -i 's/^#?log_ftp_protocol=.*/log_ftp_protocol=YES/g' /etc/vsftpd.conf
    sudo sed -i 's/^#?debug_ssl=.*/debug_ssl=YES/g' /etc/vsftpd.conf
    echo "Configuration changes complete. Check /etc/vsftpd.conf later to see if they have all been done."
    echo -en '\n'
    echo "[link]3 "
    echo -en '\n'
    echo "Adding firewall exceptions.."
    sudo ufw allow 20
    sudo ufw allow 21
    sudo ufw allow 64000:65535/tcp
    sudo iptables -I INPUT -p tcp --dport 64000:65535 -j ACCEPT
    elif [[ $ssl_vsftpd == "n" || $ssl_vsftpd == "N" ]]; then
    echo "Understood. However, this is recommended."
    else
    echo "Error: bad input."
    fi
    echo "Restart vsftpd? [y/n]"
    read -r vsftpd_restart
    if [[ $vsftpd_restart == "y" || $vsftpd_restart == "Y" ]]; then
    sudo service vsftpd restart
    elif [[ $vsftpd_restart == "n" || $vsftpd_restart == "N" ]]; then
    echo "Understood, moving on."
    else
    echo "Error: bad input."
    fi
    return 1
    }
    function apparmor_fix {
    if [ -f /ussbin/apparmor_status ]; then
    echo "Apparmor already installed."
    else
    echo "Apparmor not installed, installing."
    sudo apt-get install -y -qq apparmor apparmor-profiles apparmor-utils
    echo "Apparmor will be enabled at the end of the script."
    fi
    return 1
    }
    function sshd_secure_config {
    sudo sed -i 's/^#?PermitRootLogin .*/PermitRootLogin no/' /etc/ssh/sshd_config
    return 1
    sudo sed -i 's/^#?PermitEmptyPasswords .*/PermitEmptyPasswords no/' /etc/ssh/sshd_config
    sudo sed -i 's/^#?Port .*/Port 2223/' /etc/ssh/sshd_config
    sudo sed -i 's/^#?X11Forwarding .*/X11Forwarding no/' /etc/ssh/sshd_config
    sudo ufw allow 2223
    sudo sed -i 's/^#?Protocol .*/Protocol 2/' /etc/ssh/sshd_config
    sudo sed -i 's/^#?PrintLastLog .*/PrintLastLog no/' /etc/ssh/sshd_config
    sudo sed -i 's/^#?IgnoreRhosts .*/IgnoreRhosts yes/' /etc/ssh/sshd_config
    sudo sed -i 's/^#?RhostsAuthentication .*/RhostsAuthentication no/' /etc/ssh/sshd_config
    sudo sed -i 's/^#?RSAAuthentication .*/RSAAuthentication yes/' /etc/ssh/sshd_config
    sudo sed -i 's/^#?HostbasedAuthentication .*/HostbasedAuthentication no/' /etc/ssh/sshd_config
    sudo sed -i 's/^#?LoginGraceTime .*/LoginGraceTime 60/' /etc/ssh/sshd_config
    sudo sed -i 's/^#?MaxStartups .*/MaxStartups 4/' /etc/ssh/sshd_config
    echo "Automatic configuration complete."
    sudo sed -i 's/^#?LogLevel .*/LogLevel VERBOSE/' /etc/ssh/sshd_config
    echo "ClientAliveInterval 300" | sudo tee -a /etc/ssh/sshd_config
    echo "ClientAliveCountMax 0" | sudo tee -a /etc/ssh/sshd_config
    sudo sed -i 's/^#?StrictModes .*/StrictModes yes/' /etc/ssh/sshd_config
    clear
    echo "Use iptables to try to prevent bruteforcing? [y/n]"
    read -r iptable_ssh
    if [[ $iptable_ssh == "y" || $iptable_ssh == "Y" ]]; then
    iptables -A INPUT -p tcp --dport 2223 -m state --state NEW -m recent --set --name ssh --rsource
    iptables -A INPUT -p tcp --dport 2223 -m state --state NEW -m recent ! --rcheck --seconds 60 --hitcount 4 --name ssh --rsource -j ACCEPT
    echo "Done."
    elif [[ $iptable_ssh == "n" || $iptable_ssh == "N" ]]; then
    echo "Understood, moving on."
    else
    echo "Error: bad input."
    fi
    echo "Use public/private keys for authentication instead of passwords? [y/n]"
    read -r auth_private
    if [[ $auth_private == "y" || $auth_private == "Y" ]]; then
    sudo ssh-keygen -t rsa
    clear
    sudo chmod 700 ~/.ssh
    sudo chmod 600 ~/.ssh/id_rsa
    cat id_rsa.pub >> ~/.ssh/authorized_keys
    sudo chmod 600 ~/.ssh/authorized_keys
    restorecon -Rv ~/.ssh
    sudo sed -i 's/^#?PasswordAuthentication .*/PasswordAuthentication no/' /etc/ssh/sshd_config
    elif [[ $auth_private == "n" || $auth_private == "N" ]]; then
    echo "Understood, moving on."
    else
    echo "Error: bad input."
    fi
    return 1
    }
    function sysctl_secure_config {
    echo "kernel.sysrq = 0" | sudo tee -a /etc/sysctl.conf
    echo "net.ipv4.conf.all.accept_source_route = 0" | sudo tee -a /etc/sysctl.conf
    echo "net.ipv4.conf.all.accept_redirects = 0" | sudo tee -a /etc/sysctl.conf
    echo "net.ipv4.conf.all.rp_filter = 1" | sudo tee -a /etc/sysctl.conf
    echo "net.ipv4.conf.all.log_martians = 1" | sudo tee -a /etc/sysctl.conf
    echo "net.ipv4.icmp_ignore_bogus_error_responses = 1" | sudo tee -a /etc/sysctl.conf
    echo "net.ipv4.icmp_echo_ignore_all = 1" | sudo tee -a /etc/sysctl.conf
    echo "net.ipv4.icmp_echo_ignore_broadcasts = 1" | sudo tee -a /etc/sysctl.conf
    echo "net.ipv4.tcp_syncookies=1" | sudo tee -a /etc/sysctl.conf
    clear
    echo -en '\n'
    echo "Disable IPv6? [y/n]"
    echo -en '\n'
    read -r ipv6_disable
    if [[ $ipv6_disable == "y" || $ipv6_disable == "Y" ]]; then
    echo "net.ipv6.conf.all.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.conf
    echo "net.ipv6.conf.default.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.conf
    echo "net.ipv6.conf.lo.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.conf
    echo "IPv6 disabled."
    elif [[ $ipv6_disable == "n" || $ipv6_disable == "N" ]]; then
    echo "Understood, skipping disabling IPv6."
    else
    echo "Error: bad input."
    fi
    return 1
    }
    if [ "$(id -u)" != "0" ]; then
    echo "Please run this script as root. I promise I won't dd /dev/urandom into /dev/sda..."
    exit
    else
    main
    fi
    '''
    DON'T USE THIS
    Go1dfish undelete link
    unreddit undelete link
    Author: CreeperTyE
    1: root:admin 2: rsa:2048 3: *modulo.co*/*e*u*e-ftp*s*rvi*e-v*ftp*-linux*ht*l
    Unknown links are censored to prevent spreading illicit content.
    submitted by removalbot to removalbot [link] [comments]

    Binary Options Trading - Hack Software Watch Me Make $688 Live With Binary Options Hack 100% profitable iq option hack strategy - iq option ... Option Bot 3.0 hack binary option How to hack iq option binary - YouTube Accurate Binary Options Hack Indicator - 95% ITM - YouTube The Profit Hack Review - Hack Binary Option System

    Binary Options Trading Scam: How To Report. Make your family and friends aware of this scam by sharing it on social media using the buttons provided. You can also officially report the scammers to the Federal Trade Commission using the link below: Report To The FTC Here . What Is A Binary Option. In more complicated verbiage, a binary option is a financial option in which the payoff is either ... How To Hack Binary Options. 11:36. That's a shame, because it's got a lot going for how to hack binary options it, starting with a simple setup: just tie the tracker to a string, and use your wrist to swing it back and forth with minimal effort Apr. A trading hack is similar to a life hack, which is a modern term taken from computer hacking. Best Binary Options Hack Strategies. Next, I’ll go through a couple of the biggest problems, which in particular novice binary options investor often faces. And I will tell you the best hacks to overcome them. Problem: I don’t know anything about investing. It may seem very difficult to start investing if you do not have any basic knowledge. However, there is one very simple solution for ... Binary Options Hack Conclusion. I think by now you could already tell from the tone of my Binary Options Hack review that I am not going to recommend this product for purchase. I appreciate that you came and read my review and if you have something you would like to add please just leave your comment below. Binary Options Hack Strategies Hack is ” An inelegant and usually temporary solution to a problem”. By using the best hacking techniques you are able to be more successful almost instantly at any field. You might be asking from yourself right now, what this have to do with binary options? Well, hacks are extremely useful in almost any field of business, but in order to get the maximum ... 7 Binary Options analise: Zulander Hack: ... Disclaimer: 7 Binary Options will not be held liable for any loss or damage resulting from reliance on the information contained within this website. The data contained in this website is not necessarily real-time nor accurate, and analyses are the opinions of the author. 7binaryoptions.com is only a website offering information - not a regulated ... Zulander Hack is moderately priced when you consider some of the other binary options trading systems. It’s free to download software, but normally you must pay a fee before you can start trading. Zulander Hack does not explain their withdrawal system so we strongly advise that you do not invest a large sum of money in one shot, or else opt for a more reliable system. As of June, Zulander ...

    [index] [12206] [22600] [27672] [2987] [5735] [4011] [16285] [4882] [28362] [4732]

    Binary Options Trading - Hack Software

    register with this broker, http://record.binary.com/_Yqc93056kqC6tyDIijdDK2Nd7ZgqdRLk/1/ make a deposit and get it free. contact me MARKET VOLATILITY BACK!? - S&P Live Trading, Robinhood App, Stock Picks, Day Trading & STOCK NEWS Stock Market Live 7,691 watching Live now Check to see if the binary options trading platform has registered the offer and sale of the product with the SEC. Registration provides investors access to key information about the terms of the ... Hello friends today i will show our secret software thats one software which you earn money from iq option binary trading its 100% profitable if you want or ... Binary Options Trade With 100% Accuracy How to Hack! - Duration: 12:55. Binary Options For all people 14,465 views. 12:55. FXXTOOL BOT SIGNALS IQ OPTION - MASTER SIGNAL ALL BINARY OPTION TRADING ... Free Try: https://bit.ly/2Sstje2#binary_options #iq_option_strategy #iq_option★★Best Binary Broker List★★-----RISK WARNING: Y... Best Binary Options Trading Strategy Binary Hack Strategy 100% Working 2019 MACD Strategy - Duration: 6:16. Pranj Patel 4,424 views. 6:16. 8 TRADING HACKS IN 90 SECONDS - Duration: 2:00.

    http://binary-optiontrade.tingphosdeconsoama.tk