Binary Brokers payout comparison - 60 seconds

nginx reverse proxy configuration settings?

Hey all,
After recently working through my nginx reverse proxy configuration, I noticed mine, while working as expected, could be structured much cleaner than it currently is.
So I'm curious about two things
  1. How others have structured their nginx.conf, sites-enabled/default, conf.d/jellyfin.conf. and any other config files they may have. It seems the best practice is to define each area within its own config file. For example, http headers configured in conf.d/http_headers.conf and included in nginx.conf
  2. What specific settings do others use for both security and performance for jellyfin - obviously the jellyfin docs have nginx settings listed, but curious what others do beyond these.
For context, I run a local static website along with proxying to jellyfin and I'm sure I could be doing things better than I currently am.
Here's my nginx.conf for example:
## ================================= ## to test configuration for errors ## run: gixy /etc/nginx.conf ## ================================= user www-data; worker_processes auto; pid /run/nginx.pid; include /etc/nginx/modules-enabled/*.conf; events { worker_connections 1024; multi_accept on; } http { charset utf-8; sendfile on; tcp_nopush on; tcp_nodelay on; server_tokens off; log_not_found off; types_hash_max_size 2048; # size Limits & Buffer Overflows client_body_buffer_size 128K; client_header_buffer_size 16k; client_max_body_size 32M; large_client_header_buffers 4 16k; # timeouts client_body_timeout 10; client_header_timeout 10; keepalive_timeout 5 5; send_timeout 10; server_names_hash_bucket_size 128; server_name_in_redirect off; # MIME include /etc/nginx/mime.types; default_type application/octet-stream; # logging access_log /valog/nginx/access.log; error_log /valog/nginx/error.log; # Diffie-Hellman parameter for DHE ciphersuites ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # SSL Settings ssl_session_cache shared:le_nginx_SSL:10m; ssl_session_timeout 1d; ssl_session_tickets off; ssl_prefer_server_ciphers on; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384; # OCSP Stapling ssl_stapling on; ssl_stapling_verify on; resolver 8.8.8.8 8.8.4.4 valid=60s; resolver_timeout 5s; # virtual Host Configs include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; # gzip Settings gzip on; gzip_http_version 1.1; gzip_vary on; gzip_disable "MSIE [1-6]\.(?!.*SV1)"; gzip_proxied any; gzip_comp_level 1; gzip_min_length 10240; gzip_buffers 16 8k; # what gzip will compress gzip_types text/plain text/css text/xml application/json application/javascript application/rss+xml application/atom+xml image/svg+xml; } 
jellyfin.conf:
server { listen 80; listen [::]:80; server_name $webAddress; set $jellyfin 192.168.20.203; # only domain name requests allowed if ($host !~ ^($webAddress)$ ) { return 444; } # only get,head,post requests allowed if ($request_method !~ ^(GET|HEAD|POST)$ ) { return 444; } # Redirect to HTTPS if ($host = $webAddress) { return 302 https://$server_name$request_uri; } return 404; } server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name $webProxyAddress; set $jellyfin 192.168.20.203; # if they come here using HTTP, bounce them to the correct scheme error_page 497 https://$server_name:$server_port$request_uri; # only domain name requests allowed if ($host !~ ^($webProxyAddress)$ ) { return 444; } # only get,head,post requests allowed if ($request_method !~ ^(GET|HEAD|POST)$ ) { return 444; } # block download agents if ($http_user_agent ~* LWP::Simple|BBBike|wget) { return 403; } # SSL certs ssl_certificate ...; ssl_certificate_key ...; ssl_trusted_certificate ...; # HTTP security headers -- JELLY DOC add_header X-Frame-Options "SAMEORIGIN"; add_header X-XSS-Protection "1; mode=block"; add_header X-Content-Type-Options "nosniff"; add_header Content-Security-Policy "default-src https: data: blob:; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' https://www.gstatic.com/cv/js/sendev1/cast_sender.js; worker-src 'self' blob:; connect-src 'self'; object-src 'none'; frame-ancestors 'self'"; # HTTP security headers -- added for A+ rating add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"; add_header Referrer-Policy 'strict-origin'; add_header Expect-CT 'enforce, max-age=3600'; add_header Feature-Policy "autoplay 'none'; camera 'none'"; add_header Permissions-Policy 'autoplay=(); camera=()'; add_header X-Permitted-Cross-Domain-Policies none; # password security auth_basic "Restricted Content"; auth_basic_user_file /etc/nginx/.htpasswd; # proxy Jellyfin - copied fron jellyfin docs location / { proxy_pass http://$jellyfin:8096; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Protocol $scheme; proxy_set_header X-Forwarded-Host $http_host; # Disable buffering proxy gets very resource heavy proxy_buffering off; } # location block for Jellyfin /web - copied from jellyfin docs # purely for aesthetics location ~ ^/web/$ { proxy_pass http://$jellyfin:8096/web/index.html; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Protocol $scheme; proxy_set_header X-Forwarded-Host $http_host; } # websocket Jellyfin - copied from jellyfin docs location /socket { proxy_pass http://$jellyfin:8096; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Protocol $scheme; proxy_set_header X-Forwarded-Host $http_host; } } 
default
# set access rate limit: only allow 4 requests per second limit_req_zone $binary_remote_addr zone=one:10m rate=4s; # caching map map $sent_http_content_type $expires { default off; text/html epoch; text/css 5m; application/javascript 5m; ~image/ 5m; } server { listen 80 default_server; listen [::]:80 default_server; server_name $webAddress; # only get,head,post request allowed if ($request_method !~ ^(GET|HEAD|POST)$ ) { return 444; } # only domain name requests allowed if ($host !~ ^($webAddress)$ ) { return 444; } # redirect to HTTPS if ($host = $webAddress) { return 301 https://$host$request_uri; } return 404; } server { listen [::]:443 ssl http2; listen 443 ssl http2; server_name $webAddress; root /vawww/html; index index.html; # if they come here using HTTP, bounce them to the correct scheme error_page 497 https://$server_name:$server_port$request_uri; # redirect errors to 404 page error_page 401 403 404 /404.html; # set 503 error page error_page 503 /503.html; # only domain name requests allowed if ($host !~ ^($webAddress)$ ) { return 444; } # only get,head,post requests allowed if ($request_method !~ ^(GET|HEAD|POST)$ ) { return 444; } # block download agents if ($http_user_agent ~* LWP::Simple|BBBike|wget) { return 403; } # block some robots if ($http_user_agent ~* msnbot|scrapbot) { return 403; } # caching map expiration expires $expires; # cache location ~* /.(jpg|jpeg|png|gif|ico|pdf|png|ico|woff2|woff)$ { expires 5m; } # prevent deep linking location /img/ { valid_referers blocked $webAddress; if ($invalid_referer) { return 403; } referer_hash_bucket_size 128; } # SSL certs ssl_certificate ...; ssl_certificate_key ...; ssl_trusted_certificate ...; # HTTP security headers -- A+ rating add_header X-Frame-Options "SAMEORIGIN"; add_header X-XSS-Protection "1; mode=block"; add_header X-Content-Type-Options "nosniff"; add_header Content-Security-Policy "base-uri 'self'; default-src 'none'; frame-ancestors 'none'; style-src 'self'; font-src 'self' https://fonts.gstatic.com; img-src 'self'; script-src 'self' http https; form-action 'self'; require-trusted-types-for 'script'"; add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"; add_header Referrer-Policy 'strict-origin'; add_header Expect-CT 'enforce, max-age=3600'; add_header Feature-Policy "autoplay 'none'; camera 'none'"; add_header X-Permitted-Cross-Domain-Policies none; add_header Permissions-Policy 'autoplay=(); camera=()'; location /nginx_status { stub_status on; access_log off; # restrict access to lan allow 192.168.1.0/24; deny all; # security auth_basic "Restricted Content"; auth_basic_user_file /etc/nginx/.htpasswd; } location / { try_files $uri $uri/ =404; # rate limit limit_req zone=one burst=10 nodelay; } } 

submitted by famesjranko to jellyfin [link] [comments]

CMV: Proportional Representation (PR) is the Superior System

It is more fair

I was inspired by the American elections on this one. That's because hearing Trump complain about election fraud seems rich considering he would not have come close to beating Hilary or Biden in the last two elections without the Electoral College system (in both instances he lost the popular vote).
Of course, the Electoral College system is law, so gerrymandering cannot legally be "fraud" but come on - if a candidate wins the popular vote they should, morally speaking, win the presidency. The Electoral College system is even worse than British First Past the Post (FPTP) it seems, as a party that wins the Electoral Colleges still does not necessarily have control over the senate.

It reflects the voting majority better

Here in UK recently we had an election where the Prime Minister won an 80 seat majority the size of which he would never have gotten with proportional representation. While Johnson would have always stayed on as PM, he would not have had a "democratic" mandate to push through the policies he wants to: a hard Brexit, Americanising the Supreme Court, questionable Civil Service reforms (Cummings) and the Internal Markets Bill to name a few. That's because a stronger Opposition under PR would have opposed a lot of this.

You get more local representatives that may reflect your point of view

I have heard it said that FPTP returns you a constituent politician that can dedicate themselves to representing local issues. But with PR there may be several local representatives in population dense areas that reflect different political perspectives. So if you have an issue you think a socialist would understand better you can contact them, or if it was a conservative or a liberal you wanted to talk to, you'd be more likely to have those options as well.
Obviously in some communities, you might find there wasn't as broad an array of representatives. However you'd have a better shot at that under PR as well as a wider choice of representatives to talk to even if they are from the same party.

It is just as "stable", if not more so

First, I disagree with the premise that opponents to PR subscribe to that a constitution is stable if it does not require a coalition government and government can more easily enact policies in accordance with their voting base (and get those through parliament). Firstly, "more stuff done" is not better: quality, not quantity.
When we had a minority conservative government before 2019 I actually thought parliament were doing a good job of scrutinising and making amendments to Brexit legislation so that the country could come to a positive consensus on what would be a stable result. Being able to rush stuff through parliament just leads to chaotic mistakes like the Iraq war, where Blair was able to rush a decision to go to war even though the decision was very popular among the public at large.
Would he have been able to do this under a proportionally representative parliament? Also would Cummings have as much sway in bullying his vision for the country if parliament was proportionally representative? Neither of these seem likely. The other objection related to the point about is that FPTP means the largest group can get their voice heard whereas with a coalition government the negotiations result in a compromise that represent no particular group.
But actually PR just treats what the majority want a lot differently. For example if 40% of people want a No Deal Brexit but 60% of people are divided between Remain and Soft Brexit, sure the largest minority group wants a hard break from the EU. But it would seem that the majority of people (60%) would prefer to at least remain in a customs union with Europe. So FPTP has a twisted idea of what it means to represent the majority.
The idea that it would be less stable and more democratic to force a vision through parliament that most people don't want because ideology exists as a spectrum rather than a binary categorisation seems perverse. If a National Unity Government was strong enough - necessary in fact - to face Hitler, it seems that coalition governments should be able to fare well enough during times of lesser crisis.

It won't particularly lead to racist parties forming, or it might but it is not that substantial

So, with the vote split between two large parties partially "left" or "right to the Overton window people will generally vote for centrist governments, or centre-right if you consider UK and America are to the right of most other countries. This doesn't really give much breathing space for racist parties in general as racist parties tend to have radical ideologies that deviate far from the centre-ground.
But with proportional representation, people no longer consider voting for a party that deviates too far from centre a "wasted vote" since those parties now have a legitimate shot to either get into power, or simply to veto government. Whereas before, they would be stealing votes from a mainstream party closest too them, enabling the party you hate most to get in, now that doesn't matter because your favourite party can form a coalition with the enemy of your friend (whether in power or opposition).
Or they can form a coalition with your enemy, softening the blows and impacts of that party's policy making. This can lead to authoritarian and racist parties forming, some say. But the thing is firstly, racist parties can get in power even with FPTP.
For example, when the Reformed National Party won most of the seats in the 1948 FPTP election leading to apartheid South Africa (1). The Nazi Party had actually arrested all of the Communist deputies and changed the rules to make it easier to pass the Enabling Act in 1933 (1), thus making the system less proportionally representative.
Meanwhile, Karl Popper has this to say about tolerating (or not tolerating) intolerance in modern democracies:
Unlimited tolerance must lead to the disappearance of tolerance. If we extend unlimited tolerance even to those who are intolerant, if we are not prepared to defend a tolerant society against the onslaught of the intolerant, then the tolerant will be destroyed, and tolerance with them.
More relevantly to my argument, he says:
as long as we can counter them by rational argument and keep them in check by public opinion, suppression would certainly be unwise.
I extend an interpretation of this (my words, not Popper's) to mean that it could be prudent, even on a political level to occasionally hand the racists a platform so that we can debate and repudiate their ideas. Whereas complete suppression can occasionally lend credence to the idea that a person's logic is "irrefutable" and that is why their expression has been muted. Letting the racist party's a small portion of politic representation to refute their ideas can quash such a notion.
And besides, we can defeat racist parties through legal mechanisms to defeat or obstruct them when their policies become too extreme. For example, the British National Party (BNP) "gained all the borough council seats in parts of Burnley despite getting nowhere near a majority of the vote" (1).
However, the BNP were also obstructed by legal democratic mechanisms when a court ruled the party was legally required to allow ethnic minorities membership in the party, thus morphing the whole focus. Popper sort of makes a similar argument to this as well though neither of us have outright claimed racist or anti-democratic authoritarian parties should be banned entirely:
[W]e should claim the right to suppress [those who are intolerant] if necessary even by force; for it may easily turn out that they are not prepared to meet us on the level of rational argument, but begin by denouncing all argument; they may forbid their followers to listen to rational argument, because it is deceptive, and teach them to answer arguments by the use of their fists or pistols. We should therefore claim, in the name of tolerance, the right not to tolerate the intolerant. We should claim that any movement preaching intolerance places itself outside the law, and we should consider incitement to intolerance and persecution as criminal, in the same way as we should consider incitement to murder, or to kidnapping, or to the revival of the slave trade, as criminal.
I'm not saying that there is no threat from racist parties under PR as quite a few European proportionally representative democracies have them. I am just saying that the threat is firstly exaggerated and secondly we are not exactly protected from them by FPTP either. Could you imagine how bad it would be if a country were facing the same instability, economic depression and racial divisions as a country like Germany during the Weimar Republic but instead of a PR democracy, a racist anti-democratic government were able to gerrymander constituencies to their benefit through FPTP? (1)
___________________________________________

Resources

(1) Electoral Reform Website: "Did Proportional Representation put the Nazis in power?"
submitted by data_rights to changemyview [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]

How to prevent customer cancellations

Customer retention is a goal every business owner should be obsessed with. At the end of the day it's cheaper to retain an existing customer than it is to acquire a new one.
But how do you ensure that your customers keep using your service?
Are there any simple, yet effective ways to reduce or even prevent churn?
As it turns out there's one simple strategy you can use to keep your customers around even if they're about to leave your platform. Let's explore what it is and why it works.

Why you should obsess over customer retention

As already stated in the introduction it's important to focus on customer retention when building a sustainable business.
Acquiring customers can be an expensive endeavour. If you're not (yet) in a position where your product grows through Word-of-Mouth you're likely spending a good portion of your revenue on paid ads and marketing to drive traffic to your service. Only a few of your thousands of visitors will eventually try your product and convert to become a paying customer.
Optimizing this marketing and sales funnel is a tricky and costly activity. Think about it for a minute. Who finances your learnings and tweakings of such funnel? Correct, your existing customers.
That's why keeping your users happy and around is one of the most important business objectives.

Why customers are churning

If you think about it, there's really only one reason why your customers are leaving your platform:
Your product isn't a crucial part of their life anymore
While this sounds harsh I'd like you to think about all the services you're currently subscribing to. Now imagine that you can only keep one. What would you cancel? Probably everything except the one you can't live without.
Of course, the preferences are different from person to person and they change over time. And that's the exact reason why people cancel their subscription with your service: Their preferences have changed and they might want to take a pause from your service or need something else entirely.

"Churn Baby Churn"

Now that we know why your customers churn, it's time to get into their shoes and think about ways to keep them around.
One of the "industry" standards is to send out a survey once they're about to leave to gather feedback and convince them to stay. Some services offer coupon codes if for example the user has clicked on the "it's too expensive" option in the survey.
Other tactics are more on the "dark patterns" side of things. Hiding buttons, asking double negative questions or using other techniques to make it nearly impossible to leave. Needless to say that customers of businesses practicing such tactics aren't the ones who spread the word on how awesome the product is. Quite the opposite.
But let's take a step back for a minute and ask ourselves why this "should I stay or should I go" question has to be binary in the first place. Isn't there something "right in the middle"? Something where a user can stay but somehow go at the same time?

"Wait a minute... or a month..."

The solution to this dilemma is dead simple and obvious, yet rarely used: Make it possible to pause the subscription.
Yes, it's that simple. Just offer a way to pause a subscription and get back to it once your users current circumstances have changed.
Now you might think that it's a really bad idea to let users pause their subscription. They'll pause and never come back. So essentially it's a "passive churn" as they haven't left the platform yet but might never use it again. The stale user data is sitting in the database and your dashboards are still showing hockey-stick growth. Furthermore it's a huge implementation effort as pausing and resuming subscriptions isn't something considered business critical and hence wasn't implemented just yet.
Those are all valid concerns and some of them might turn out to be true even if you have a "pause- and resume your subscription" system in place. But let's take a seconds to look at the other side of the equation.

Why pausing is a good idea

They very first thing that comes to mind is the COVID-19 pandemic we're currently in. A lot of business scaled back and hence had to cancel subscriptions to their favorite SaaS tools to cut costs. A common "save the customer tactic" used here was to get in touch with the business owner and offer heavy discounted year long subscription plans. That way businesses could reassess if they should really quit and leave the huge discount on the table or just go with it and double down to benefit from the sweet, discounted multi-year subscription deal.
Letting business put their subscription on hold would be another strategy that could be used to help retain and eventually reactivate your users during this pandemic. Put yourself into your customers shoes again for a minute. Wouldn't you want to pay it back in the future if your supplier lent you a helping hand and wasn't "forcing" you out the door?
Even if your customers pause their account you still have their E-Mail address to reach out to them and keep them informed about your product. In fact you should use this opportunity to stay in touch, ask them how they're doing and providing something of value along the way. That way you keep the communication "warm" and your business stays on "their radar". There's a higher likelihood that they think about your service when times have changed and they're about to scale things up again.
Having a way to pause a subscription is an action that's usually taken with some level of consideration. If your customer wants to quit (s)he'll just cancel the subscription anyway. Offering a way to pause for the time-being is another option your users might just not have right now, so they're forced to make a very binary decision and therefore they just quit.
What you should also think about is that pausing a subscription doesn't necessarily mean that you'll lose revenue for sure. There are different and very creative ways in which you can implement the pause. My gym for example simply extends my membership for the amount of months I put my membership on hold. In the summer I make use of this feature since I do my workouts outside anyways. However those 3-4 months I "save" are simply "added" to my contract. I just have a little bit more control about how and where I spend my time with sports. You can get really creative here and invent other ways for this mechanism to work if you really want to ensure that you don't lose revenue.
A last, important point is that you can use this functionality as a competitive advantage and "marketing material". Be sure to add the fact that people can pause their subscription to your list of product benefits. Add it to the copy right next to your "Subscribe Now" button. Addressing objections and concerns right before the call-to-action is about to happen will drastically increase your conversion rates.

Things to keep in mind when going down that path

Now you might be excited and eager to implement this strategy in the near future but before you do so I'd like to call out a couple of things you should keep in mind when implementing it.
First of all: Keep it simple. There's no need to jump right into code and implement this functionality end-to-end. Do it manually in the beginning. Update the database records and the subscription plans for people who want to pause their subscription by hand. Maybe you find out that very few people want to make use of this feature. What you definitely want to put in place is your new copywriting. As discussed above you should ensure that your marketing website is updated and reflects the recent change you just introduced.
Next up you want to have an automated follow-up E-Mail sequence / Drip campaign setup for pausing customers. Keep in touch. Ask for problems they had with your software and help them succeed in whatever they're up to right now. You might want to jump on a quick call to gather some feedback as to why they paused and understand what needs to be in place for them to come back. If you do this, please ensure that you're genuinely interested in the communication. There's nothing worse for a user than composing a reply and shooting the E-Mail into the marketing void.
A very important, yet often overlooked step is to have a tool in place which deals with "passive churn". Such a system ensures that the credit cards on file are up to date and chargeable. There could be an overlap between your users pausing their subscription and their credit cards expiring. You don't want to make them look bad because of that. You could even think about a "concierge service" which onboards them in person once they'll come back. Combine this with a quick update on all the new features / updates they missed and are not yet familiar with.
Lastly you absolutely don't want to make it hard for your users to pause their subscription. As mentioned above, avoid dark patterns at all costs. And more importantly: Don't penalize them for pausing. Messages such as "We'll retain your data for the next 60 days" are inappropriate in the day and age of "Big Data" and access to Petabytes of storage for a nickel and dime.

Your challenge

I'd like to challenge you to think about adding the possibility to pause a subscription. Is it suitable for your business? Would it help you retain and reactive more customers (especially in the current situation we're in)?
If you're about to add it, keep in mind that it doesn't have to be complicated. Start with a simple E-Mail form your users can fill out to let you know for how long they want to pause. Just make sure that you follow the best practices outlined above and that you advertise that it's now possible for your customers to pause their subscriptions.

Conclusion

Customer retention is one of the most important metrics every business owner should focus on. It's the existing customers who finance the Customer Acquisition Costs that are necessary to bring new users into the door.
It's almost always cheaper to keep your existing customers happy than to lose them and acquire brand new ones.
Unfortunately a lot of SaaS services only offer a very binary option for their subscription plans. As a user you're either in or you're out. You stay or you leave. But what if a user wants to take a pause for a few months because of current changes in life circumstances?
Offering a way to pause a subscription is a simple, yet effective way to retain and eventually reactive your existing customers. Remember that a pause is temporary. If you follow-up with them on a continuous basis and help them succeed they'll eventually come back. Maybe even as a raving, more loyal fan of your brand.
I hope that you enjoyed this article and I'd love to invite you to subscribe to my Newsletter if you're interested in more, action-oriented posts like this.
Do you have any questions, feedback or comments? Feel free to reach out via E-Mail or connect with me on Twitter.
This post was originally published on philippmuens.com
submitted by pmuens to indiebiz [link] [comments]

How to prevent customer cancellations

Customer retention is a goal every business owner should be obsessed with. At the end of the day it's cheaper to retain an existing customer than it is to acquire a new one.
But how do you ensure that your customers keep using your service?
Are there any simple, yet effective ways to reduce or even prevent churn?
As it turns out there's one simple strategy you can use to keep your customers around even if they're about to leave your platform. Let's explore what it is and why it works.

Why you should obsess over customer retention

As already stated in the introduction it's important to focus on customer retention when building a sustainable business.
Acquiring customers can be an expensive endeavour. If you're not (yet) in a position where your product grows through Word-of-Mouth you're likely spending a good portion of your revenue on paid ads and marketing to drive traffic to your service. Only a few of your thousands of visitors will eventually try your product and convert to become a paying customer.
Optimizing this marketing and sales funnel is a tricky and costly activity. Think about it for a minute. Who finances your learnings and tweakings of such funnel? Correct, your existing customers.
That's why keeping your users happy and around is one of the most important business objectives.

Why customers are churning

If you think about it, there's really only one reason why your customers are leaving your platform:
Your product isn't a crucial part of their life anymore
While this sounds harsh I'd like you to think about all the services you're currently subscribing to. Now imagine that you can only keep one. What would you cancel? Probably everything except the one you can't live without.
Of course, the preferences are different from person to person and they change over time. And that's the exact reason why people cancel their subscription with your service: Their preferences have changed and they might want to take a pause from your service or need something else entirely.

"Churn Baby Churn"

Now that we know why your customers churn, it's time to get into their shoes and think about ways to keep them around.
One of the "industry" standards is to send out a survey once they're about to leave to gather feedback and convince them to stay. Some services offer coupon codes if for example the user has clicked on the "it's too expensive" option in the survey.
Other tactics are more on the "dark patterns" side of things. Hiding buttons, asking double negative questions or using other techniques to make it nearly impossible to leave. Needless to say that customers of businesses practicing such tactics aren't the ones who spread the word on how awesome the product is. Quite the opposite.
But let's take a step back for a minute and ask ourselves why this "should I stay or should I go" question has to be binary in the first place. Isn't there something "right in the middle"? Something where a user can stay but somehow go at the same time?

"Wait a minute... or a month..."

The solution to this dilemma is dead simple and obvious, yet rarely used: Make it possible to pause the subscription.
Yes, it's that simple. Just offer a way to pause a subscription and get back to it once your users current circumstances have changed.
Now you might think that it's a really bad idea to let users pause their subscription. They'll pause and never come back. So essentially it's a "passive churn" as they haven't left the platform yet but might never use it again. The stale user data is sitting in the database and your dashboards are still showing hockey-stick growth. Furthermore it's a huge implementation effort as pausing and resuming subscriptions isn't something considered business critical and hence wasn't implemented just yet.
Those are all valid concerns and some of them might turn out to be true even if you have a "pause- and resume your subscription" system in place. But let's take a seconds to look at the other side of the equation.

Why pausing is a good idea

They very first thing that comes to mind is the COVID-19 pandemic we're currently in. A lot of business scaled back and hence had to cancel subscriptions to their favorite SaaS tools to cut costs. A common "save the customer tactic" used here was to get in touch with the business owner and offer heavy discounted year long subscription plans. That way businesses could reassess if they should really quit and leave the huge discount on the table or just go with it and double down to benefit from the sweet, discounted multi-year subscription deal.
Letting business put their subscription on hold would be another strategy that could be used to help retain and eventually reactivate your users during this pandemic. Put yourself into your customers shoes again for a minute. Wouldn't you want to pay it back in the future if your supplier lent you a helping hand and wasn't "forcing" you out the door?
Even if your customers pause their account you still have their E-Mail address to reach out to them and keep them informed about your product. In fact you should use this opportunity to stay in touch, ask them how they're doing and providing something of value along the way. That way you keep the communication "warm" and your business stays on "their radar". There's a higher likelihood that they think about your service when times have changed and they're about to scale things up again.
Having a way to pause a subscription is an action that's usually taken with some level of consideration. If your customer wants to quit (s)he'll just cancel the subscription anyway. Offering a way to pause for the time-being is another option your users might just not have right now, so they're forced to make a very binary decision and therefore they just quit.
What you should also think about is that pausing a subscription doesn't necessarily mean that you'll lose revenue for sure. There are different and very creative ways in which you can implement the pause. My gym for example simply extends my membership for the amount of months I put my membership on hold. In the summer I make use of this feature since I do my workouts outside anyways. However those 3-4 months I "save" are simply "added" to my contract. I just have a little bit more control about how and where I spend my time with sports. You can get really creative here and invent other ways for this mechanism to work if you really want to ensure that you don't lose revenue.
A last, important point is that you can use this functionality as a competitive advantage and "marketing material". Be sure to add the fact that people can pause their subscription to your list of product benefits. Add it to the copy right next to your "Subscribe Now" button. Addressing objections and concerns right before the call-to-action is about to happen will drastically increase your conversion rates.

Things to keep in mind when going down that path

Now you might be excited and eager to implement this strategy in the near future but before you do so I'd like to call out a couple of things you should keep in mind when implementing it.
First of all: Keep it simple. There's no need to jump right into code and implement this functionality end-to-end. Do it manually in the beginning. Update the database records and the subscription plans for people who want to pause their subscription by hand. Maybe you find out that very few people want to make use of this feature. What you definitely want to put in place is your new copywriting. As discussed above you should ensure that your marketing website is updated and reflects the recent change you just introduced.
Next up you want to have an automated follow-up E-Mail sequence / Drip campaign setup for pausing customers. Keep in touch. Ask for problems they had with your software and help them succeed in whatever they're up to right now. You might want to jump on a quick call to gather some feedback as to why they paused and understand what needs to be in place for them to come back. If you do this, please ensure that you're genuinely interested in the communication. There's nothing worse for a user than composing a reply and shooting the E-Mail into the marketing void.
A very important, yet often overlooked step is to have a tool in place which deals with "passive churn". Such a system ensures that the credit cards on file are up to date and chargeable. There could be an overlap between your users pausing their subscription and their credit cards expiring. You don't want to make them look bad because of that. You could even think about a "concierge service" which onboards them in person once they'll come back. Combine this with a quick update on all the new features / updates they missed and are not yet familiar with.
Lastly you absolutely don't want to make it hard for your users to pause their subscription. As mentioned above, avoid dark patterns at all costs. And more importantly: Don't penalize them for pausing. Messages such as "We'll retain your data for the next 60 days" are inappropriate in the day and age of "Big Data" and access to Petabytes of storage for a nickel and dime.

Your challenge

I'd like to challenge you to think about adding the possibility to pause a subscription. Is it suitable for your business? Would it help you retain and reactive more customers (especially in the current situation we're in)?
If you're about to add it, keep in mind that it doesn't have to be complicated. Start with a simple E-Mail form your users can fill out to let you know for how long they want to pause. Just make sure that you follow the best practices outlined above and that you advertise that it's now possible for your customers to pause their subscriptions.

Conclusion

Customer retention is one of the most important metrics every business owner should focus on. It's the existing customers who finance the Customer Acquisition Costs that are necessary to bring new users into the door.
It's almost always cheaper to keep your existing customers happy than to lose them and acquire brand new ones.
Unfortunately a lot of SaaS services only offer a very binary option for their subscription plans. As a user you're either in or you're out. You stay or you leave. But what if a user wants to take a pause for a few months because of current changes in life circumstances?
Offering a way to pause a subscription is a simple, yet effective way to retain and eventually reactive your existing customers. Remember that a pause is temporary. If you follow-up with them on a continuous basis and help them succeed they'll eventually come back. Maybe even as a raving, more loyal fan of your brand.
I hope that you enjoyed this article and I'd love to invite you to subscribe to my Newsletter if you're interested in more, action-oriented posts like this.
Do you have any questions, feedback or comments? Feel free to reach out via E-Mail or connect with me on Twitter.
This post was originally published on philippmuens.com
submitted by pmuens to Entrepreneurship [link] [comments]

[META] The Rules and their Entirety

These are the rules, everything that pertains to everyone who wishes to make any sort of interaction within this sub. Per the last META, clarity has been given in regards to bulk-type sales. Since EVERYTHING is here for you all to read, we expect there to be less issues with rule infractions and general confusion as to what’s acceptable, and what isn’t. We devote our time and energy for this sub to continuously never reach a balance amongst the users.
Our goal is to ensure the subreddit itself sticks around, along with trying to keep the userbase from being taken advantage of. Our rules make sense to some, and none to others but they serve a purpose. Regardless of how you feel, these are the rules and it is expected they be followed. At the time this post becomes visible, all of what’s listed below will be enforced as a hard rule, no more wrist slaps or babysitting.

Reporting Rules

Here are the Subreddit Reportable violations. Violating these rules will get you a ban.

Reddit Rules:

Reddit Rules regarding Firearms
No firearm sales. No Ammunition sales. No primers or gunpowder, as they are considered explosives.
No selling or distributing of files related to 3D printed firearms.
If you have no idea what this is referring to, please educate yourself before posting anything related to 3D printing files by reading up on them at the following websites:
Firearms: A Firearm is considered the serialized receiver or assembly of a working firearm. If you are unsure if an item is prohibited, contact the mods prior to posting it.
80% lowers and completion kits are not included in this prohibition as they are not firearms yet.
Bump-Stocks are considered Machine Guns by the ATF and are therefore prohibited from trading on the sub.
Binary Triggers, Cranks, and Rubber bands and other such items are not (currently) affected by this prohibition (unless Admins change their minds later).
Explosives & Hazmat: Gunpowder and Live Primers are considered as explosives and Hazardous Materials and are therefore prohibited from trade.
Ammunition: Reddit Admins use the ATF definition of ammunition which is as follows:
The term “Ammunition” means ammunition or cartridge cases, primers, bullets, or propellant powder designed for use in any firearm. The term shall not include (a) any shotgun shot or pellet not designed for use as the single, complete projectile load for one shotgun hull or casing, nor (b) any unloaded, non-metallic shotgun hull or casing not having a primer. 27 § 478.11
Brass and projectiles posted here will result in an immediate suspension by Reddit Admins, so if we find it first we will remove it.
Any violation of these above rules will result in a ban by us, or a site-wide suspension by Admins and their Anti-Evil goosesteppers.
Anyone attempting to skirt Reddit Rules will be given a 7 day ban on the first offense, a 30 day ban on the second offense, and a permaban thereafter due to the fact that Admins will use the bad behavior of a few to justify shutting down the sub for good.

Posting Rules:

This sub is for private sales only. Vendors must post in Gundeals or GunAccessoryVendors
Clarification on Vendor Rule: Don't include links to your business website, we are not a referral system, do your business on here. Please see the Reddit Self Promotion page for details on that. Reddit admins don't like you cutting in on their ad revenue. We do not support VENDORS, I.E. if you buy another company's products in bulk (such as Magpul), and just act as a distributoreseller, your business is not welcome here. That is /GunDeals territory. If you have an FFL, you cannot do business on here because are considered a firearm business, and cannot solicit any transactions involving firearms.
The limit on bulk sales/bulk items is 10, that means 10 of the same individual item can be posted for sale or trade. If you have 10 Geissele triggers, but only 4 are flat and 6 are curved, that will still count as 10, as they're the same branded trigger and likely purchased at the same time. If there are 3 OD Green items and 7 FDE that are otherwise the same item, that still count as 10. If you post 10 items of the same in one day, 10 the next, and 10 the following day after that, that will be viewed as vendor activity. To keep such things from happening, it will be limited to one sale of this type, per user, per week. The ONLY EXCEPTION to this rule is old magazines, as it is common for users to purge off part of their mag collection.
Please follow these rules when creating a listing: Prefix your title with the transaction type:
[WTS] - Want To Sell
[WTB] - Want To Buy
[WTT] - Want To Trade
[GIFT] - Gun It Forward Tactically
Suffix your title with your state (e.g. (GA) or (NY)). This will help incentivize local sales and could impact shipping costs. Also, it could affect legality of some items such as magazines and those accessories deemed as "assault weapon" parts by certain states.
Postings should all follow this general format as an example: "[WTS] M16A2 Carry Handle - $60 (VA)". If you do not list the price in the title, ensure that it is listed in the comments. Include a Dollar sign ($) or the bot will remove it.
Postings without a price value may be removed after a period of time. WTB posts require valid offering prices, and will be removed if they do not have one.
Postings with prices such as "$1 for the bot" or "$1,000,000 for the bot" that are intended to bypass our rules and automated removal system instead of posting a valid price, will be removed and a temporary ban will be issued immediately.
Postings without pictures will be removed immediately, unless these posts are WTB.
Do not post an item for sale if you do not have it in your possession at the time of posting. This includes an item you may have purchased elsewhere, you decided you don’t want it and it’s on its way to you, but it has yet to arrive. If you don’t have it, don’t post it.
If you post stock images of an item in your WTS/WTT post, that will result in a temp ban if it is your first time doing so, possibly permanent if done on multiple occasions. If you post images of someone else’s photos for “your” item, this will be viewed as scamming tactics and you will receive a permaban, immediately.
If you drop your price, use the Price Drop/NSFW Tag. If your items sell, use the Complete/Spoiler tag. Please don't delete the price of an item if it sells, because that can be used by people in the future to gauge what similar items may be worth.
If your post does not receive the traction you're wanting, refrain from reposting within a 24 hour time frame. You may repost after the 24 hours has passed, and a price drop is not required, but encouraged. Deleting your post and reposting afterwards is viewed as trying to evade this rule. It will be met with removal and a temp ban, possibly longer if done more than once.
Want to Buy/Sell/Trade (WTB/WTS/WTT): These transactions all require a price value for the item. If a listing does not include a price it may be removed and re-listed once it is in compliance. Giving an unrealistic price to avoid this rule will be treated as a rule violation. Examples of this are "WTB scope, $1" or "WTT Upper, $9999". Additionally, you must list what you are looking for in [WTT] posts. Fielding offers, testing the waters or any other post attempt to try and skirt this rule will result in the post being removed.
Gifting items forward: (GIFT) If you have small odds and ends that aren't worth much and the cost of shipping is prohibitive, you are allowed to offer items for free. The gifter is allowed to request compensation for shipping only, and can request a flair upgrade in the feedback thread for the transaction. If the receiver pays for shipping, they can also request a flair upgrade, but if they get the item for free, no flair upgrades for the recipient. Flair upgrades of this type are limited in order to avoid abuse, i.e. giving away 20 A2 grips in order to get +20 rep is not authorized.
Accounts with 5 or less flair (you must have at least 6) on GAFS are NOT eligible to participate in giveaways, due to users from other subs coming to win stuff without ever participating in GAFS, or GAFS users making multiple new burner accounts to enter giveaways.
New accounts (under 30 days of age) are not able to create WTS or WTT ads, nor should they offer things for sale in the comments of other peoples' posts. To prevent scams, new users can only post Want to Buy threads. If you want to attempt to bypass this account age requirement, you must be able to provide moderators evidence of a good trading history on another reputable online forum, such as Calgunner or AR15.com where you can show a longstanding history of positive trade feedback. If this is completed, moderators may provide an exception and allow WTS/WTT posts to be submitted by new users, with a warning caveat to any potential buyers to avoid using risky payment methods until the seller has had a chance to develop a positive trading reputation.
Any new accounts that utilize this subreddit that create names that are similar to a mods (i.e. sxbbzxro, sxbzxxro, subzxro, etc.) may be removed from participating here due to the possibility of confusing/having the ability to manipulate users into thinking they are in fact a mod.
Price Checks (PC): Because PC listings were abused by many to bypass the price rule, fish for "best offers", and otherwise snipe sales, they have been disabled after overwhelming support from the community.
We have a feedback system in place. The current month's flair thread is On the Sidebar, and is usually Stickied at the top as well. Check there for the specific directions. DO NOT create a thread for a sale that has already happened, or has happened in a different sub/website/forum etc. The Flair system is only for feedback for exchanges in /GAFS. Any attempts to game the flair system will be seen as an attempt to establish trust for scam purposes, and will be banned accordingly.
Law Enforcement: Be aware, we do not offer exemptions to any individuals who may have LE credentials. Due to the difficulty of verifying employment, possible job changes, leaving/termination from said job, etc. we treat all users as civilians. Any local and federal laws apply to all individuals who utilize this subreddit. Read up and stay up-to-date on these laws and regulations, you will be expected to know and abide by them. Failure to do so may lead to a ban.
External Sales:
NO LINKS to your external sales on TacSwap, eBay, Facebook, Armslist, Gunbroker, etc. Sales in multiple locations are allowed, but don't just provide a link to sale elsewhere. Make your listing here. The only caveat to these rules is to show a price point elsewhere if someone here has an item that is grossly overpriced, or is looking for an item.
This sub is not a "highest bid gets the item" format. There are also no lotteries for items i.e. 10 chances at $10 each to purchase a $75 flashlight with a random number generated to pick the winner.
High Value or Counterfeit Items:
To deter the sale of counterfeit products, any item that is serialized must have a picture of the serial. As firearms are not allowed for sale here, this shouldn't present a privacy issue to anyone. This policy covers items such as EOTechs, Aimpoints, Trijicons, etc. Along with this, if you're selling anything that's "new-in-box", you must unseal it and show the contents of said box/package.
No Stolen Property. If you are selling a knockoff item, indicate that fact. Items such as bipods, BUIS, flashlights, holsters, and scopes/optics are known to have some gray market options. KAC USMC Stamped Rear Sights are not stolen property and are allowed on here, unless another member can provide proof from a DoD source that they are in fact considered stolen government property.
All GAFS logos, icons, banners and visual content related to this subreddit, belong to the moderator team. Do not create/manufacture/produce items with this content onto itself. It is forbidden to profit off the GAFS name, unless discussed with the modteam in advance and given permission.

Shipping/Insurance Rules:

The official policy is for the mods to not get involved with issues regarding lost packages, provided that the parties can prove it was actually lost. If you feel like insurance should be added to your transaction, please take care to add that before finalizing terms.

General Rules:

WARNING: Be aware of all state and federal laws that apply to you and any parties involved in a firearms-related transaction. You are responsible for knowing and following the law. This Subreddit and its staff are in no way responsible for informing you of the law, but will make every effort to do so. As a buyer, be familiar with your state/county/city rules. As a seller, do not knowingly sell prohibited items to areas that have laws against your items, such as certain capacity magazines. Any person, buyer, or seller, who knowingly solicits a trade that is illegal for them may be subject to a ban.
Respect all federal and local laws for any transaction you take part in. This includes federal drug laws. Drug activity tied to your account tied to any other issues is sufficient grounds for banning. Here is the ATF Letter that explains why any suspected drug activity, including marijuana, is grounds for immediate banning from the sub. Illegal gun activity such as unregistered SBRs, AOWs, destructive devices, DIAS or lightning links in your reddit profile (in or outside the sub) can be reason for banning. Do not spread bad information regarding laws.
Any item you post for sale is expected to be in your current possession. If this is not the case, you must specify this in the listing. Circumstances such as selling for a friend is allowed, but pictures of your items are required to be shared to the public. You do not need an imgur.com account in order to host pictures of your item on imgur, so that is not an excuse.
If you are scammed, inform the mods as soon as you can so that we may investigate and ban the offending parties if necessary.
Do not post the personal information of any Reddit users. The exception to this is if someone uses PayPal to scam a member, this information may be sent to the mods to prevent others from also being scammed. Doxxing people will not be tolerated.
Do not antagonize posters about their price, opinion, or sexual orientation (etc). This translates to be a general rule of "no dickish behavior". If you disagree with someone's price, and can post evidence that their item has a current or recent better price elsewhere such as a link to a vendor, that information is authorized to be posted. That is not antagonism. People may comment on prices and offer counter-offers, as long as behavior is not insulting or unprofessional. If you feel that someone is being unprofessional regarding pricing, report it and the mods will evaluate the case. They are the determining factor whether behavior warrants muting, temporary banning, or permanent banning based on severity of incident, past behavior, and other factors. If your behavior does not contribute towards the positive image of firearms ownership, your participation in this subreddit may not be welcome.
Soliciting any type of transaction regarding prohibited items may result in a ban. This includes Price Checks of firearms and other prohibited items, as this can be seen as an attempt to garner PM offers for prohibited items. Remember that there is no expectation of privacy from Reddit Admins, and that they have shown in the past that they have access to private message histories.
As a general guideline, if a buyer wants to use PayPal Goods and Services (G&S) rather than Friends and family (F&F), it is expected that they will absorb the ~3% fee for the increased protections. However, PayPal F&F, Zelle, and Venmo and similar payment methods are discouraged here due to a lack of protections.
All rules and guidelines are subject to change. The moderators have the final say in all issues in relation to the rules and how to enforce them.
submitted by SxbZxro to GunAccessoriesForSale [link] [comments]

Extons. IO An Easy Step-Through Crystal Financial Trade

Extons. IO An Easy Step-Through Crystal Financial Trade
Premiere
I have spoken before about Extons in my article so there's no cause to talk again about it, but I'd like to give any new visitors a quick introduction. Extons is a central platform established in 2020 that strives first and foremost to serve a wide range of crypto assets. It will help traders and companies grow quickly with its low-cost and fast transactions. This is a product of the ecosystem Thisoption.
EXTONS, what are they?
EXTONS is an exchange of cryptocurrency that supports a broad range of crypto active assets for trading. There are

https://preview.redd.it/lk8jflln97i51.jpg?width=960&format=pjpg&auto=webp&s=b460d349f9bea89fb5aac61dc617ce1898160789
five ecosystems of this option designed for traders around the world to launch. Its central crypto-monetary exchange is part of the ecosystem and technology of this Option. This supports many payment platforms that have fiat and crypto properties, and KYC wants to use this platform's software. This site was created in June 2020.
Business Framework
Security
The most important thing is the safety of a multi-model structure. A reliable business service would be offered to the consumers, with the best front end and back end services with a multilingual interface. There are many protection mechanisms used to avoid fraud and business manipulations.
An experience by strongest consumers:
The interface is quick and user-friendly. It is essential to provide the customer with the best market trading experience. Customer service is accessible online 24/7 to assist the dealer. This will ensure that all transactions are carried out smoothly.
Supports a broad variety of crypto assets:
Big cryptocurrency pairs and their trading practices are eligible for sale. This service is quite large, but it's very simple. Traders from around the globe will be able to use this platform and be part of the potential growth of this ecosystem. The big crypto assets have already been identified, so adding is one direction.
Liquidity:
Liquidity is also a crucial element that other exchanges have struggled to accomplish. Without ample liquidity, the trader would not be able to use this platform easily. Liquidity can offer more than 250 market parameters of new technologies and services.
What's Thisoption?
Thisoption is a Binary Options Trading System that is a part of the environment of this choice. It was founded in 2016 and has more than 700,000 members and continues to grow in numbers. The team is working to render this application simpler and easy to use. Investors will gain up to 80% of their investment in just 60 seconds. Users will get more than 100 trading assets that can be accessed from any device.
Is this choice perfect for trading?
This is a huge platform for traders to make a good return on investment in a short period of time. This platform provides specialized resources and apps for trades, and their support team is really helpful and supports users in any case. Every type of traders, whether pro or new, can participate on the platform, and support is there to help them learn about markets and how to trade.
https://preview.redd.it/94ybzc9n97i51.jpg?width=960&format=pjpg&auto=webp&s=751f33db79c4200d0889ae7ffbf21d42999b5f7c
The ecosystem of TONS Token
There are five components of the TONS Environment. They're-
  1. Thisoption:(Thisoption is a Binary Options Exchange)
  2. TONSPAY:(Its a payment portal in the ecosystem.)
  3. TONSTRADE:(APP TONSTRADE)
  4. EXTONS:(Cryptocurrency exchange)
  5. TONSFX:(TONSFX is a Forex exchange)
conclusion
A cryptocurrency is a huge place and one of the fastest-growing financial industries. There are over 300 active exchanges and several of them also supply the markets with ample liquidity. The EXTON.IO team is committed to delivering the finest trading experience for all its customers. They're also a lot of cool features and services for traders and willing to add more as their users want. It's a market that will help a wide variety of traders and customers around the globe. With its wide range of services, it can attract traders and investors to its ecosystem.

Website || Thisoption || Whitepaper || Telegram || Facebook || Medium

Author: u/thorex25
Disclaimer
This article is not meant to give commercial or any other kind of advice. It is just an informative text at all.
submitted by dojogang to DigitalCryptoWorld [link] [comments]

Binary Options Review; Best Binary Options Brokers

Binary Options Review; Best Binary Options Brokers

Binary Options Review; Best Binary Options Brokers
We have compared the best regulated binary options brokers and platforms in May 2020 and created this top list. Every binary options company here has been personally reviewed by us to help you find the best binary options platform for both beginners and experts. The broker comparison list below shows which binary trading sites came out on top based on different criteria.
You can put different trading signals into consideration such as using payout (maximum returns), minimum deposit, bonus offers, or if the operator is regulated or not. You can also read full reviews of each broker, helping you make the best choice. This review is to ensure traders don't lose money in their trading account.
How to Compare Brokers and Platforms
In order to trade binary options, you need to engage the services of a binary options broker that accepts clients from your country e.g. check US trade requirements if you are in the United States. Here at bitcoinbinaryoptionsreview.com, we have provided all the best comparison factors that will help you select which trading broker to open an account with. We have also looked at our most popular or frequently asked questions, and have noted that these are important factors when traders are comparing different brokers:
  1. What is the Minimum Deposit? (These range from $5 or $10 up to $250)
  2. Are they regulated or licensed, and with which regulator?
  3. Can I open a Demo Account?
  4. Is there a signals service, and is it free?
  5. Can I trade on my mobile phone and is there a mobile app?
  6. Is there a Bonus available for new trader accounts? What are the Terms and
  7. conditions?
  8. Who has the best binary trading platform? Do you need high detail charts with technical analysis indicators?
  9. Which broker has the best asset lists? Do they offer forex, cryptocurrency, commodities, indices, and stocks – and how many of each?
  10. Which broker has the largest range of expiry times (30 seconds, 60 seconds, end of the day, long term, etc?)
  11. How much is the minimum trade size or amount?
  12. What types of options are available? (Touch, Ladder, Boundary, Pairs, etc)
  13. Additional Tools – Like Early closure or Metatrader 4 (Mt4) plugin or integration
  14. Do they operate a Robot or offer automated trading software?
  15. What is Customer Service like? Do they offer telephone, email and live chat customer support – and in which countries? Do they list direct contact details?
  16. Who has the best payouts or maximum returns? Check the markets you will trade.
The Regulated Binary Brokers
Regulation and licensing is a key factor when judging the best broker. Unregulated brokers are not always scams, or untrustworthy, but it does mean a trader must do more ‘due diligence’ before trading with them. A regulated broker is the safest option.
Regulators - Leading regulatory bodies include:
  • CySec – The Cyprus Securities and Exchange Commission (Cyprus and the EU)
  • FCA – Financial Conduct Authority (UK)
  • CFTC – Commodity Futures Trading Commission (US)
  • FSB – Financial Services Board (South Africa)
  • ASIC – Australia Securities and Investment Commission
There are other regulators in addition to the above, and in some cases, brokers will be regulated by more than one organization. This is becoming more common in Europe where binary options are coming under increased scrutiny. Reputable, premier brands will have regulation of some sort.
Regulation is there to protect traders, to ensure their money is correctly held and to give them a path to take in the event of a dispute. It should therefore be an important consideration when choosing a trading partner.
Bonuses - Both sign up bonuses and demo accounts are used to attract new clients. Bonuses are often a deposit match, a one-off payment, or risk-free trade. Whatever the form of a bonus, there are terms and conditions that need to be read.
It is worth taking the time to understand those terms before signing up or clicking accept on a bonus offer. If the terms are not to your liking then the bonus loses any attraction and that broker may not be the best choice. Some bonus terms tie in your initial deposit too. It is worth reading T&Cs before agreeing to any bonus, and worth noting that many brokers will give you the option to ‘opt-out’ of taking a bonus.
Using a bonus effectively is harder than it sounds. If considering taking up one of these offers, think about whether, and how, it might affect your trading. One common issue is that turnover requirements within the terms, often cause traders to ‘over-trade’. If the bonus does not suit you, turn it down.
How to Find the Right Broker
But how do you find a good broker? Well, that’s where BitcoinBinaryOptionsReview.com comes in. We assess and evaluate binary options brokers so that traders know exactly what to expect when signing up with them. Our financial experts have more than 20 years of experience in the financial business and have reviewed dozens of brokers.
Being former traders ourselves, we know precisely what you need. That’s why we’ll do our best to provide our readers with the most accurate information. We are one of the leading websites in this area of expertise, with very detailed and thorough analyses of every broker we encounter. You will notice that each aspect of any broker’s offer has a separate article about it, which just goes to show you how seriously we approach each company. This website is your best source of information about binary options brokers and one of your best tools in determining which one of them you want as your link to the binary options market.
Why Use a Binary Options Trading Review?
So, why is all this relevant? As you may already know, it is difficult to fully control things that take place online. There are people who only pose as binary options brokers in order to scam you and disappear with your money. True, most of the brokers we encounter turn out to be legit, but why take unnecessary risks?
Just let us do our job and then check out the results before making any major decisions. All our investigations regarding brokers’ reliability can be seen if you click on our Scam Tab, so give it a go and see how we operate. More detailed scam reports than these are simply impossible to find. However, the most important part of this website can be found if you go to our Brokers Tab.
There you can find extensive analyses of numerous binary options brokers irrespective of your trading strategy. Each company is represented with an all-encompassing review and several other articles dealing with various aspects of their offer. A list containing the very best choices will appear on your screen as you enter our website whose intuitive design will allow you to access all the most important information in real-time.
We will explain minimum deposits, money withdrawals, bonuses, trading platforms, and many more topics down to the smallest detail. Rest assured, this amount of high-quality content dedicated exclusively to trading cannot be found anywhere else. Therefore, visiting us before making any important decisions regarding this type of trading is the best thing to do.
CONCLUSION: Stay ahead of the market, and recover from all kinds of binary options trading loss, including market losses in bitcoin, cryptocurrency, and forex markets too. Send your request via email to - [email protected]
submitted by Babyelijah to u/Babyelijah [link] [comments]

Полезно. ПО Fawkes - клоакинг фотографий для защиты от систем распознавания лиц. Защитите ваши фото ! Скачать ПО Fawkes. Как использовать ПО Fawkes установка. Image "Cloaking" for Personal Privacy. Fawkes Usage - Setup Instructions

Как защититься от системы распознавания лиц при помощи ПО Fawkes
Как защититься от массовой слежки и идентификации людей по лицу

Полезно. ПО Fawkes - клоакинг фотографий для защиты от систем распознавания лиц. Защитите ваши фото !
Скачать ПО Fawkes. Как использовать ПО Fawkes , установка.
Image "Cloaking" for Personal Privacy. Fawkes Usage - Setup Instructions

Алгоритм Fawkes эффективно подрывает базу обучения «вражеской» нейросети. Перед публикацией каждой фотографии в ней делаются незаметные попиксельные изменения, после чего она становится не то что непригодной для использования при обучении, а буквально портит систему распознавания лиц.

Обработайте ваши фотографии с помощью Fawkes -> Загружайте ваши фото в социальные сети

сайт: http://sandlab.cs.uchicago.edu/fawkes/

Fawkes - Image "Cloaking" for Personal Privacy
For more information about the project, please refer to our project webpage http://sandlab.cs.uchicago.edu/fawkes/

Как использовать ПО Fawkes и установка - Fawkes Usage - Setup Instructions
https://github.com/Shawn-Shan/fawkes/blob/mastefawkes/README.md
https://github.com/Shawn-Shan/fawkes/tree/maste

Инструкции по установке Fawkes Setup Instructions
https://github.com/Shawn-Shan/fawkes/blob/mastefawkes/README.md
Publication & Presentation - PDF
Fawkes: Protecting Personal Privacy against Unauthorized Deep Learning Models.
Shawn Shan, Emily Wenger, Jiayun Zhang, Huiying Li, Haitao Zheng, and Ben Y. Zhao.
In Proceedings of USENIX Security Symposium 2020. ( Download PDF here )
https://people.cs.uchicago.edu/%7Eravenben/publications/abstracts/fawkes-usenix20.html
https://people.cs.uchicago.edu/%7Eravenben/publications/pdf/fawkes-usenix20.pdf


Frequently Asked Questions http://sandlab.cs.uchicago.edu/fawkes/

---------------------------------

Скачать ПО Fawkes:

Downloads and Source Code - Version 0.3 (July 2020)
http://sandlab.cs.uchicago.edu/fawkes/

Download the Fawkes Software:

Fawkes.dmg for Mac (v0.3)
DMG file with installer app
Compatibility: MacOS 10.13, 10.14, 10.15
https://mirror.cs.uchicago.edu/fawkes/files/0.3/Fawkes-0.3.dmg

Fawkes.exe for Windows (v0.3)
EXE file
Compatibility: Windows 10
https://mirror.cs.uchicago.edu/fawkes/files/0.3/Fawkes-0.3.exe

Бинарник для Mac
Fawkes Executable Binary
https://mirror.cs.uchicago.edu/fawkes/files/0.3/fawkes_binary_mac-v0.3.zip

Бинарник для Windows
Fawkes Executable Binary
https://mirror.cs.uchicago.edu/fawkes/files/0.3/fawkes_binary_windows-v0.3.zip

Бинарник для Linux
Fawkes Executable Binary
https://mirror.cs.uchicago.edu/fawkes/files/0.3/fawkes_binary_linux-v0.3.zip

Инструкции по установке Setup Instructions
https://github.com/Shawn-Shan/fawkes/blob/mastefawkes/README.md

Исходный код Fawkes на GitHub
Fawkes Source Code on Github, for development
https://github.com/Shawn-Shan/fawkes

---------------------------------------------------------------------

Клоакинг фотографий для защиты от систем распознавания лиц

https://habr.com/ru/company/itsumma/news/t/512122/
23 июля 2020
Информационная безопасность,
Open source,
Обработка изображений,
Киберпанк
Современные системы распознавания лиц представляют угрозу личной приватности. Уже сейчас такие системы ежедневно сканируют миллионы лиц в Китае, Великобритании и России без их согласия. Поставлена задача, чтобы в следующем году 100% пассажиров в топ-20 аэропортов США незаметно подвергали этой процедуре.
https://www.whitehouse.gov/presidential-actions/executive-order-protecting-nation-foreign-terrorist-entry-united-states-2/


Исследователи из Чикагского университета придумали любопытный алгоритм клоакинга, который позволяет защититься от распознавания лиц.
http://sandlab.cs.uchicago.edu/fawkes/

Дело в том, что системы распознавания лиц берут фотографии для обучения своей системы из ваших открытых данных — в основном, из профилей в социальных сетях и других открытых источников.

Например, крупнейшая система распознавания лиц Clearview.ai для обучения использовала более трёх миллиардов фотографий из интернета и социальных сетей. Clearview.ai демонстрирует, насколько легко построить такую систему распознавания на снимках из Facebook и «Вконтакте».
https://clearview.ai/

https://www.nytimes.com/2020/01/18/technology/clearview-privacy-facial-recognition.html

Так вот, новый алгоритм Fawkes эффективно подрывает базу обучения «вражеской» нейросети. Перед публикацией каждой фотографии в ней делаются незаметные попиксельные изменения, после чего она становится не то что непригодной для использования при обучении, а буквально портит систему распознавания лиц.


Схема работы Fawkes https://hsto.org/webt/vu/r2/ao/vur2aoiyij6hcfibjxpfo8-q9b8.jpeg

Программа Fawkes работает локально на вашем компьютере и выполняет клоакинг фотографий. После обработки вы можете использовать фотографии как угодно — публиковать в социальных сетях, передавать друзьям или распечатывать на бумаге. В любом случае, для распознавания лиц они уже бесполезны, как показала проверка в ходе научного исследования чикагской группы.


Интуитивно понятное пояснение в 2D-пространстве из четырёх признаков A, B, U, T, почему модель, обученная на искажённых фотографиях, не распознаёт лица на оригиналах. Слева — границы принятия решений при обучении на оригиналах, справа — границы принятия решений при обучении после клоакинга
https://hsto.org/webt/gc/bq/f1/gcbqf1bgswyycpjzszuirvgjv6w.png

Тестирование показало, что эффект клоакинга трудно распознать при обучении нейросети и он не вызывает ошибок при обучении. Другими словами, операторы системы распознавания лиц не заподозрят ничего неладного. Но просто если кто-то попытается выполнить распознавание на вашем оригинальном изображении (например, с камер наблюдения), поиск по базе не найдёт совпадений.

Fawkes протестирован и показал эффективность 100% против самых известных моделей распознавания Microsoft Azure Face API, Amazon Rekognition и Face++.

Алгоритмы сжатия изображений тоже не портят защиту клоакинга. Исследователи проверяли материал на прогрессивном JPEG, который используется в Facebook и Twitter для пережатия картинок, на уровнях качества от 5 до 95. В общем, сжатие немного ослабляет защиту клоакинга, но при этом ещё более значительно снижается качество распознавания лиц. То есть нашей задачи помех в классификации это не мешает.

Как ни странно, заблюривание фотографий и применение разных графических фильтров тоже не снимает защиту, поскольку по своей сути клоакинг происходит не на уровне пикселей, а на уровне пространства признаков, то есть пиксельные измененимя на самом деле имеют глубокую природу и не стираются в растровом редакторе.

Техническая статья с описанием алгоритма (pdf) будет представлена на ближайшем симпозиуме USENIX по безопасности 12? 14 августа 2020 года.
http://people.cs.uchicago.edu/~ravenben/publications/pdf/fawkes-usenix20.pdf

Кстати, название программы позаимствовано от маски Гая Фокса из фильма «V — значит вендетта».

Скачать программу Fawkes: http://sandlab.cs.uchicago.edu/fawkes/
Open Source
Обработка изображений
Информационная безопасность
Киберпанк
Fawkes
распознавание лиц
клоакинг
V — значит вендетта
Информационная безопасность
Обработка изображений
Киберпанк

--------------------------------------------------------
How to Setup
Fawkes Binary
https://github.com/Shawn-Shan/fawkes/blob/mastefawkes/README.md

This application is built for individuals to cloak their images before uploading to the Internet. For more information about the project, please refer to our project webpage.

If you are a developer or researcher planning to customize and modify on our existing code. Please refer to fawkes.

How to Setup

MAC:

Download the binary following this link and unzip the download file.
Create a directory and move all the images you wish to protect into that directory. Note the path to that directory (e.g. ~/Desktop/images).
Open terminal and change directory to fawkes (the unzipped folder).
(If your MacOS is Catalina) Run sudo spctl --master-disable to enable running apps from unidentified developer. We are working on a solution to bypass this step.
Run ./protection-v0.3 -d IMAGE_DIR_PATH to generate cloak for images in IMAGE_DIR_PATH.
When the cloaked image is generated, it will output a *_min_cloaked.png image in IMAGE_DIR_PATH. The generation takes ~40 seconds per image depending on the hardware.

PC:

Download the binary following this link and unzip the download file.
Create a directory and move all the images you wish to protect into that directory. Note the path to that directory (e.g. ~/Desktop/images).
Open terminal(powershell or cmd) and change directory to protection (the unzipped folder).
Run protection-v0.3.exe -d IMAGE_DIR_PATH to generate cloak for images in IMAGE_DIR_PATH.
When the cloaked image is generated, it will output a *_min_cloaked.png image in IMAGE_DIR_PATH. The generation takes ~40 seconds per image depending on the hardware.

Linux:

Download the binary following this link and unzip the download file.
Create a directory and move all the images you wish to protect into that directory. Note the path to that directory (e.g. ~/Desktop/images).
Open terminal and change directory to protection (the unzipped folder).
Run ./protection-v0.3 -d IMAGE_DIR_PATH to generate cloak for images in IMAGE_DIR_PATH.
When the cloaked image is generated, it will output a *_min_cloaked.png image in IMAGE_DIR_PATH. The generation takes ~40 seconds per image depending on the hardware.

More details on the optional parameters check out the github repo
https://github.com/Shawn-Shan/fawkes/tree/maste
------------------------

Usage
Fawkes https://github.com/Shawn-Shan/fawkes/tree/maste

Fawkes is a privacy protection system developed by researchers at SANDLab, University of Chicago. For more information about the project, please refer to our project webpage. Contact us at [[email protected]](mailto:[email protected]).

We published an academic paper to summarize our work "Fawkes: Protecting Personal Privacy against Unauthorized Deep Learning Models" at USENIX Security 2020.

NEW! If you would like to use Fawkes to protect your identity, please check out our software and binary implementation on the website.
Copyright
This code is intended only for personal privacy protection or academic research.
We are currently exploring the filing of a provisional patent on the Fawkes algorithm.


Usage

$ fawkes

Options:

-m, --mode : the tradeoff between privacy and perturbation size. Select from min, low, mid, high. The higher the mode is, the more perturbation will add to the image and provide stronger protection.
-d, --directory : the directory with images to run protection.
-g, --gpu : the GPU id when using GPU for optimization.
--batch-size : number of images to run optimization together. Change to >1 only if you have extremely powerful compute power.
--format : format of the output image (png or jpg).

when --mode is custom:

--th : perturbation threshold
--max-step : number of optimization steps to run
--lr : learning rate for the optimization
--feature-extractor : name of the feature extractor to use
--separate_target : whether select separate targets for each faces in the diectory.

Example

fawkes -d ./imgs --mode min
Tips

The perturbation generation takes ~60 seconds per image on a CPU machine, and it would be much faster on a GPU machine. Use batch-size=1 on CPU and batch-size>1 on GPUs.
Turn on separate target if the images in the directory belong to different people, otherwise, turn it off.

How do I know my images are secure?

We are actively working on this. Python scripts that can test the protection effectiveness will be ready shortly.
Quick Installation

Install from PyPI:

pip install fawkes

If you don't have root privilege, please try to install on user namespace: pip install --user fawkes.


---------------------------------------------------------------------------------
Image "Cloaking" for Personal Privacy http://sandlab.cs.uchicago.edu/fawkes/

Original Cloaked
http://sandlab.cs.uchicago.edu/fawkes/images/shawn.jpg
http://sandlab.cs.uchicago.edu/fawkes/images/shawncloaked.jpg

Original Cloaked
http://sandlab.cs.uchicago.edu/fawkes/images/emily.jpg
http://sandlab.cs.uchicago.edu/fawkes/images/emilycloaked.jpg

2020 is a watershed year for machine learning. It has seen the true arrival of commodized machine learning, where deep learning models and algorithms are readily available to Internet users. GPUs are cheaper and more readily available than ever, and new training methods like transfer learning have made it possible to train powerful deep learning models using smaller sets of data.

But accessible machine learning also has its downsides. A recent New York Times article by Kashmir Hill profiled clearview.ai, an unregulated facial recognition service that has downloaded over 3 billion photos of people from the Internet and social media and used them to build facial recognition models for millions of citizens without their knowledge or permission. Clearview.ai demonstrates just how easy it is to build invasive tools for monitoring and tracking using deep learning.

So how do we protect ourselves against unauthorized third parties building facial recognition models that recognize us wherever we may go? Regulations can and will help restrict the use of machine learning by public companies but will have negligible impact on private organizations, individuals, or even other nation states with similar goals.

The SAND Lab at University of Chicago has developed Fawkes1, an algorithm and software tool (running locally on your computer) that gives individuals the ability to limit how their own images can be used to track them. At a high level, Fawkes takes your personal images and makes tiny, pixel-level changes that are invisible to the human eye, in a process we call image cloaking. You can then use these "cloaked" photos as you normally would, sharing them on social media, sending them to friends, printing them or displaying them on digital devices, the same way you would any other photo. The difference, however, is that if and when someone tries to use these photos to build a facial recognition model, "cloaked" images will teach the model an highly distorted version of what makes you look like you. The cloak effect is not easily detectable by humans or machines and will not cause errors in model training. However, when someone tries to identify you by presenting an unaltered, "uncloaked" image of you (e.g. a photo taken in public) to the model, the model will fail to recognize you.

Fawkes has been tested extensively and proven effective in a variety of environments and is 100% effective against state-of-the-art facial recognition models (Microsoft Azure Face API, Amazon Rekognition, and Face++). We are in the process of adding more material here to explain how and why Fawkes works. For now, please see the link below to our technical paper, which will be presented at the upcoming USENIX Security Symposium, to be held on August 12 to 14.

The Fawkes project is led by two PhD students at SAND Lab, Emily Wenger and Shawn Shan, with important contributions from Jiayun Zhang (SAND Lab visitor and current PhD student at UC San Diego) and Huiying Li, also a SAND Lab PhD student. The faculty advisors are SAND Lab co-directors and Neubauer Professors Ben Zhao and Heather Zheng.

1The Guy Fawkes mask, a la V for Vendetta

In addition to the photos of the team cloaked above, here are a couple more examples of cloaked images and their originals. Can you tell which is the original? (Cloaked image of the Queen courtesy of TheVerge).
Publication & Presentation

Fawkes: Protecting Personal Privacy against Unauthorized Deep Learning Models.
Shawn Shan, Emily Wenger, Jiayun Zhang, Huiying Li, Haitao Zheng, and Ben Y. Zhao.
In Proceedings of USENIX Security Symposium 2020. ( Download PDF here )
https://people.cs.uchicago.edu/%7Eravenben/publications/abstracts/fawkes-usenix20.html
https://people.cs.uchicago.edu/%7Eravenben/publications/pdf/fawkes-usenix20.pdf

-------------------------

***
Вступайте в наши сообщества - Join Us:
https://www.reddit.com/1_News/
и
https://www.reddit.com/True_Russia/

Делитесь со всеми, распространяйте информацию!
***
Революция в России. Фашизм в России. Власть в России оккупационная! Пора менять власть!

Что делать, как сменить власть в России на народную? Надо выходить на улицу на массовые многотысячные митинги - это единственное действенное решение.

Изменить ситуацию в России и сменить преступную власть мировых хозяев денег, путина и его банды из Совета безопасности, ФСБ и олигархов могут только протесты на улице:
постоянные массовые многотысячные протесты народа во многих городах и населенных пунктах России, протесты каждый день, протесты без уведомлений власти !

Организуйте митинги, шествия, марши по улицам, протест в виде уличной вечеринки.
Организуйте протесты каждый день в вашем районе! Мирный протест.
ПРОТЕСТЫ на УЛИЦЕ и МАССОВОСТЬ - это ГЛАВНОЕ для эффективного протеста и смены власти!
Руководство по сопротивлению. Советы по протестам. Как организовать сопротивление и мирные протесты. Советы как бороться. Как защищаться. Поведение на митинге. Как вести себя на митинге. Что делать на акции протеста, на митинге.

читайте "Руководство по сопротивлению. Советы по протестам - Часть №1":
https://www.reddit.com/True_Russia/comments/cjeply/

читайте "Руководство по сопротивлению. Советы по протестам. Часть №2":
https://www.reddit.com/True_Russia/comments/fk5d2p/

читайте "Руководство по сопротивлению. Советы по протестам. Часть №3":
https://www.reddit.com/True_Russia/comments/hs1dhi/

Руководства и советы по сопротивлению, протестам, митингам - читать тут:
https://www.reddit.com/True_Russia/collection/932a8f94-b44a-4737-ac25-fcb1428831a2
и
https://www.reddit.com/True_Russia/collection/78d163e1-cf30-4dbb-a153-053f71bede10/

Сохраните себе текст статьи - пригодится!
Распространяйте информацию. Поделитесь ссылкой. Поделитесь этой информацией с другими людьми. И просите друзей распространять информацию.

True Russia - Истинная Россия. Сопротивление. Мирный протест. Протесты на улице. Протестные Марши Шествие Митинги.
Борьба за народ России, за справедливость.
Resistance. Peaceful protest. Street protest. Protest Marches. Meeting Demonstrations

Фашизм в России Fascism in Russia. Social Justice Социальная Справедливость. Revolution in Russia Революция в России
Global News. IT Cybersecurity Privacy cybercrime Security and Surveillance. Top and breaking news, pictures and videos. International Journal business politics science economics видео video
Новости РФ и мира. Политика Наука Экономика. IT Информационная безопасность Защита данных. Руководства Советы Анонимность Защита от слежки. Обход блокировок сайтов и цензуры в России. Как защищаться от слежки. интернет Internet СОРМ Cybersecurity cybercrime privacy safety security anonymity and surveillance Тотальный контроль Total Control
сообщество сабреддит реддит на русском языке in Russian русский язык Russian language по-русски student студент студентка школа школьник школьница мем мэм мемы финансы силовики news resist protest социализм социалист солидарность сопротивление протест свобода единство борьба socialism socialist solidarity resistance protest freedom unity fighting видео video Кризис в России Мировой Кризис
***
submitted by DarkRedFist to True_Russia [link] [comments]

Tips to Find the Best Binary Options Brokers

With the potential of earning big money, binary options trading has removed in a big way all around the globe. From a number of binary options brokers in 2008, we have about hundreds of these available currently. You will be entrusting your cash to a broker to keep on the trade. Hence, it is very important that you identify the best binary options brokers from the other small and unreliable ones.
The trading of Binary Options first commenced in 2008 at the Chicago Board of Exchange. Such as the name suggests, Binary Options, are derivative contracts with only two possible outcomes at the expiry of the contract i.e. you receive cash/ asset if the contract is'in the amount of money'or nothing otherwise. For instance, suppose you buy a phone option of ABC Ltd.' s share at a strike price of $30 and a binary payoff of $300 binary options brokers. If the stock price is above $30, your contract is'in the amount of money '. By'in the amount of money'contract, we mean that you are in a gain situation as you can buy the stock for the strike price of $30 and sell it at an increased price (the current price) and produce a profit. In this scenario, in a binary option contract, you receive a fixed binary payoff of $300. In most other scenario, you receive nothing and lose the purchase price of the contract. The underlying asset can be stocks, indices, commodities and currencies. Making consistent profits out of trading in binary options depends upon the accuracy with which you may predict asset movements over the word of the contract.
Following are some important strategies for narrowing down your search to the best binary options brokers:
• Choose a controlled broker: A regulated broker is the one which has obtained a license and is governed by the concerned regulatory authority. Picking a regulated binary options broker will benefit you in many ways such as, payment protection in case of the broker's insolvency, proper usage of funds and authenticity of the contracts.
• Access: There are some brokers who prohibit US investors from trading in binary option contracts. If you should be a US investor, you would want to check this first before proceeding to evaluate the broker on other parameters.
• Track Record: Pick a broker with a minumum of one year of reputable dealings. Avoid deciding on new brokers. The more experienced the broker, the higher will be its credibility as it has had the oppertunity to survive in this industry.
• Reputation: Before selecting any broker, ensure that you check the user reviews/ complaints which will give a fair idea of the trustworthiness of the broker. Find the broker who has good reviews and fewer complaints.
• User Interface: Since your entire transactions will be online, become familiar with the interface of the broker's website. User friendly and navigate interface will simplify things and assist you to take investment decisions easily.
• Number of Options: You can find a number of option variants including 60 seconds options by which the option expires after very one minute or One Touch binary option in that you simply need certainly to predict whether the asset price will at least one time cross a pre-determined price during the life span of the option. Brokers supplying a higher number of option variants are beneficial as it opens up more earning opportunities.
• High Payouts: Higher payout means lower commission to the brokers and obviously higher share of profits to you. Most brokers generally offer 80-85% payout in case the option is'in the amount of money '. Some brokers offer 10-15% payout even when the option is out from the money. Choose brokers with favorable payouts.
• Banking options: Since derivative contracts are about'timing'it is essential that the broker offers you fast and a range of deposit and withdrawal options.
• Customer Service: Fast and prompt customer support is just a big advantage for a newcomer trader. Test the broker's customer care with certain pre-account opening queries. Also, a demonstration account made available from a broker reflects its emphasis on superior customer experience.
• Terms and Conditions: More frequently than not, unfavorable terms such as higher withdrawal limit are hidden in the fine print of the terms and conditions. Read them in more detail before commencing trading with the broker.
It's important that you spend time in choosing your broker. The above checklist will help you choose the best binary options brokers in the market currently.
submitted by abelrichard to u/abelrichard [link] [comments]

#WINk Question & Answer Time

Date: 14/05/20
  1. Why implement new UI (ultra super 4k) if old gives you money?
WINK has a big goal we want to play a big role in the online casino industry not limited to a tron dapp. The reason we implement the new UI is that it is fundamental for multi-currencies. Only with multi-currencies, can WINK grow big. WINk is not satisfied with being the best Tron DAPP. We will only be satisfied when we are the best of our kind, within the entire cryptocurrency community.
  1. How does one win a drop?
Drops are not win a drop, drops are paid out every day for holding and freezing the tokens (WIN LIVE DICE & RAKE) from each drop pool.
  1. Can I play dice with JST token?
It is a pity that you cannot now, but we’ll try to see whether JST token can be supported in the future.
  1. Do you know when the monthly report will be released?
We are preparing for it. As the third party live game providers always provide their invoice on the 10th of each month, we need some time to calculate, finish the buyback and burn. So usually we will send the monthly report from 15th to 19th of each month.
  1. joined momentarily just to say 8 months later price is still falling lolz. Could it be the massive supply of WIN or is it the fear people have of the team dumping. Or is it the fact that no one knows who the team is? I’ll leave this here, I don’t want to argue. Peace
The team is working to increase the value of WIN. WIN Price is undervalued we believe due to lack of knowledge about its utility. Mass marketing across all current large cryptocurrency platforms must ensue at our earliest convenience. Multi-currency is not performing to its full potential. By increasing the sizes of the sub token drop pools - WIN pool will dramatically increase also. As the mother token of the platform WIN will need to showcase its potential and the increased drop amounts will have a very positive effect on the WIN pool and market price. At the same time, Rake has great potential. According to the data from 2019, Dice contributed 60% to the entire platform revenue, Live contributed 36%, whilst Rake only 4%. This shows us that Rake has great potential. We are working to improve the Rake product. We are aware of the changes that need making and the areas that require attention to bring increased revenue to WIN. When the new website and multi-currencies support is complete, we will push out a new poker product combined with aggressive promotion and partners, we believe that there will be a dramatic increase in Rake revenue once this is completed. RAKE relinquishes 40% of its profits to the WIN drop pool, meaning it is by far the most underused and undervalued section of the platform in our current forecast. We aim to change this and bring our RAKE platform to a much higher industry-standard as is expected from our players. At this moment in time, we are in the process of upgrading the website. We are developing and designing a new user interface that allows for multi-currency drops to be enabled and a more user-friendly experience all around. We expect this to be completed by mid-June. The new website will support a swift and easy to follow login process, allowing players to easily access the WINK website via registration with an email address and experience the centralized LIVE casino games that are available and newly added Binary options trading that WINk offers under this section. Alongside this, it will support all major currencies from the top 100 cryptocurrency market. Which will exponentially expand the target audience and change the current playeuser base: who are currently only Tron DAPP users and open it up to every crypto user in the community as well as traditional online gamblers who seek gameplay that truly rewards them back for their wagering. When completed, WINk can quickly start mass marketing campaigns and greatly enhance its current market share, which in turn can bring the entire platform's revenue, user dividends, and WIN's tokens market price to a much higher level and standard. WINk is not satisfied with
being the best Tron DAPP. We will only be satisfied when we are the best of our kind, within the entire cryptocurrency community.
Date: 15/05/20
  1. What was this big giveaway for? The giveaways we do on twitter are always to improve and increase our engagement and social media presence. We still feel that many people do not know about WIN and the more people that hear about is means the more chances we have of improving our user numbers and improve platform growth
For this Twitter Giveaway, we want to get some exposure on twitter and telegram. That is a normal way for promotion. Of course, it is not the massive promotion we mentioned before.
  1. On May everything going according to the Plan and we can expect a new UI and Dice game at the end of the month? Or there any updates about that?
Everything goes according to the plan. It is supposed to be a new UI in May. About the Dice game, we will launch immediately once the new website goes smoothly.
  1. Is that wheel of fortune game new on live ? Evolution games are available to us and when the game is released we will be requesting it for wink.
We are managing a great relationship with hub88. We will discuss the new game with them and I am sure they will give us a satisfactory answer.
  1. Most big div pools come from mining, and if people stop to mine dividends are not so great. Do you have something in mind to keep people mine?
I think there are two reasons for people mining. The first, playing games for fun.Which is why we will continue to bring more content and great games to the platform. Secondly people want the tokens to be able to increase their daily dividends, we will bring more value to the platform by adding partners continually under the current sub sections. This will bring more players and more value which will bring people to mind which of course brings higher dividends
  1. Is there any chance of getting a date for listing of dice and Live? We do not have a set date yet for the listing of LIVE or DICE the community will be informed when it has been decided
Regarding the listing, we have to negotiate the specific date with exchanges. We are doing some preparation works now to get the subtoken listed on time.
  1. Where does the new scratch card(e gaming) game come?
In-house. Developed by WINk developers. We Will inform you where on the site it is going when it’s finished
Thanks community! It is all about today’s Questions and Answers section. If you have more questions, please feedback in the main channel. The mods will forward the questions to the team and we’ll try to answer them on a daily basis.
Thanks again for your support!Enjoy your gaming and WIN big!
submitted by WINkfans to WINk_org [link] [comments]

Gat Crank Review

Before I start off this review I would like to get a few things out of the way. A large part of the gun community is into long-range marksmanship, accuracy, and making every shot count. If you are one of these people, then this device probably is not for you. It is in all honesty a gimmick, but it is a fun one at that. Of course the best option for receiving the benefits of close-to fully automatic rates of fire is to jump through the NFA loopholes and obtain a legally fully automatic weapon; but the truth is that not all of us will in the foreseeable future (or possibly ever) have over $10k to spend on such a gun. If you do, then good for you. There is much debate over how beneficial full-auto really is over semi-auto, and to some the price tag just isn't worth being able to send a bunch of ammo down-range really fast. With that said the bottom line (tl/dr) is at the bottom.

With the ATF classifying bump-stocks as “machine guns” (even though it doesn't even meet their own definition) I figured it was only an amount of time before they went down the slippery slope after all “trigger actuators”, or devices that help fire semi-automatic weapons at faster-than-usual rates. I looked into most of these devices and a large majority, such as the infamous “hellfire” system, just assisted with bump firing. Bump firing can also be learned without the device or with something as simple as a rubber band (not sure if this is legal but eh). The issue with bump firing is that it works off recoil so with the barrel swinging around accuracy is insanely low and you can usually only get off a few shots in rapid succession at a time.
Another device that was popular was a variety of “crank triggers”, these essentially just are just a windmill-like device that attaches to your trigger guard that is turned with a crank. When turned the grooves depress the trigger, then release it, causing it to quickly fire. This was one of the only devices that did not work of recoil, which in my opinion would improve your accuracy quite a bit. Although one hand does need to hold the grip of your firearm while the other cranks, a bipod can be used to support the front of the weapon (like actual stationary gatling guns). The ATF also has stated themselves as per Rul. 2004-5 that these devices are not classified as “machine guns” and therefore legal.
Another option I would like to point out that does work and is still legal at the time (now) is “binary” or “pull-and-release” triggers. These triggers work by firing one shot when the trigger is pulled and one when it is released. My only gripe with these is that they are typically sold out on online retailers and when you can find them available they cost around $500 (that is more than I spent on my entire AR not including accessories).
Most “trigger actuators” had little-to-no unbiased videos demonstrating use on youtube, but the “gat crank” trigger had a video with Jerry Miculek himself using and endorsing it. There were many websites selling these devices, so I went with the one he endorsed. The device was $60 with free shipping. As with most close-to-sketchy websites I used my credit card (not debit) so if I had any issues with the seller I could always just contest the transaction. I did my research with the company and they appeared to have some issues with their customer service department as well so using a credit card was also a plus. Their FAQs said they usually take 2-3 weeks to ship as they are essentially just a one-man-shop. A little after two long weeks I received an email with the tracking information. The device was delivered to my house fine via USPS without any visits from the ATF.
I was able to assemble the device fairly easily although it did take some innovation on my part; if you can put together a ceiling fan you can put this thing together. I also would like to add the device I received is not the same one in Jerry’s video, but the one shown on their website (obviously). A large part of the device is plastic (including the part that actually hits the trigger) so I would not trust it for use on a firearm with a metal trigger such as an AR15 or AK47. Instead I installed it on my 10/22 due to it having a plastic trigger, and ammo also being 1/10th the price of 5.56 is a benefit. I also installed a bipod on a barrel-mounted rail and used a 25-round BX-25x2 magazine.
I know some ranges prohibit the use of such devices or fully automatic fire, but my shooting spot is just public BLM land. When I originally installed it I only tightened the mounting hex screw hand-tight so that it would not get stripped out/stuck. When I first fired the device it would shoot fast, but slower than intended and would wiggle quite a bit. I said screw it and I tightened it down all the way using a hex key. Now this thing shot fast and did not move at all. Although not exactly full-auto, it would fire as fast as I could crank it (it took around 5 seconds to fire 25 rounds while sweeping at cans lined up).
The only failures I did have during a few hundred rounds were with the firearm, and not the device itself. As with quickly firing any semi-automatic rifle, I did have some failures such as a failure to extract and a double feed. I have heard of it damaging barrels on AR15s but through watching AR15 meltdown videos it appears it usually takes firing at least 500 rounds in rapid succession using an M16 lower to blow out a gas block on the cheapest upper on the market. I cannot see any harm being done if you use only 30 round magazines (on an AR15) and allow the gun to cool off a bit in-between magazines. In Jerry’s video he did smoke (but not damage) his gun using a 50 round magazine.
I was able to easily remove the device (I did need to partially take it apart) and as I assumed it did leave a small indent/blemish on the bottom of the trigger guard; I have heard of it doing the same to metal trigger guards as well. It personally does not bother me that much as my guns are tools that get used and it adds character to the gun, but if it does end up bothering me later I was able to get a stripped trigger guard off ebay for $20.

So the bottom line is this device does work well, at least on a 10/22, and is a lot of fun. In order to accurately control it it does need to be used stationary with a bipod; if you do not use a bipod you will essentially be shooting one handed. The device is made of plastic however and because of this I do expect it to break easily in a metal-on-plastic situation. The device is a fraction of the cost of a legal, fully automatic weapon or binary trigger at $60. If the amount of fun you think you will have with it is worth $60, then I would recommend it.
submitted by DefinatelyNotonDrugs to tacticalgear [link] [comments]

60 Seconds Binary Options Trading Signals - YouTube 60 Second Binary Options Trading on Trade Rush - YouTube Binary Options 60 Seconds Indicator 99% Winning Live ... 60 Seconds binary options strategy 99 - 100% Winning (100% ... 60 Seconds Binary Options Trading Websites i.e. Plus500 ... 1-minute (“60-second”) Binary Options Strategy - YouTube How to Trade Binary Options - 60 Second Options on Trade ... Profitable 60 Seconds Strategy for Binary Options - YouTube BINARY OPTIONS: profitable strategy 60 seconds - YouTube 60 Seconds Binary Options Strategy - YouTube

Binary Options Trading Signals & Franco Live Trades. While this trading signal service is not specifically for the 60 second options, Franco does indeed trade the fast binary options we all love to hate. The way it works is that you get a live share of his screen and you can see him make the trade. Here is a pretty good youtube video explaining ... At the risk of going against what most binary options websites and blogs claim, I say the 60 Seconds Strategy does not exist.. What exists is a binary options type of trade, using existing strategies, with a very short time interval. 60 seconds is just one of the formats available for this financial instrument. Please comment your brokers 60 seconds EUR/USD ( usually the highest payout) payout rates to give fellow traders some tips. Please submit only regulated binary option brokers. We promote on this website IQoption so I add it as first one for the time being. EUR/USD – 80% payout rate. About iqoptionstrade.com. IQOPTIONS.EU - IQ Option trading Magazine - binary options industry news, demo ... 60-second binary options are for traders that want to be very active in the market and see results fast. Since these options expire in one minute you can potentially do hundreds of trades a day. Like traditional binary options, if you believe an asset will be higher than the current price 60 seconds from now you’ll buy a call option. If believe an asset will be lower than the current price ... Steps to Finding a Good Broker in the USA. There are two main types of binary options brokers and exchanges available. There are the fully CFTC regulated exchanges like Nadex (www.nadex.com) that are fully regulated and behave as the more traditional style of exchange where your contracts are bought and sold via the exchange between you and other traders. Binary options website 60 seconds scheme Investor Alerts and Bulletins. The SEC’s Office of Investor Education and Advocacy is issuing this Investor Alert to warn investors that fraudsters may conduct investment schemes through purported online binary options trading platforms. While some binary options are listed on registered exchanges or traded on a designated contract market that are ... 60 second binary options. A fine WordPress.com site Home; About; Uncategorized; January 23, 2013 . All About Binary Choices Indicators. In advance of signing on the dotted line and entrusting your money future to binary options brokers, realize their terms and situations and any other contractual evaluate they have in area. With online binary trading, the ability to trade grew to become ... The 60 second binary options strategy can yield a high return if you do a simple analysis as follows: Once you see a new support or resistance line is being formed, and the price touches one of the lines and reverses, invest immediately in the direction of reversal. The 60 second strategy: the head and shoulders pattern. The well-known head and shoulders pattern can be prove useful for trading ... Binary options trading may have gotten a bad rap because of its all-or-nothing premise, but the high payouts keep traders coming back for more. This is why binary options markets remain strong in various regions around the world, particularly in Asia. To avoid fraud in binary options trading, choose a trustworthy broker. These brokers can help ... When looking for the best 60-second binary options brokers there are several factors which you will probably want to consider. It is a safe bet that you will probably also want to trade other contract varieties, such as the standard high/low binary option at the very least. Though there are probably a few strictly 60-second traders out there. So you are going to want a broker that offers you a ...

[index] [25098] [21476] [8187] [23263] [25703] [9304] [27891] [28013] [4777] [5449]

60 Seconds Binary Options Trading Signals - YouTube

1-minute (“60-second”) Binary Options Strategy Download App... https://app.appsflyer.com/com.iqoptio... https://affiliate.iqoption.com/redir/... http://60secondcashsystem.com/ Click Link To Left To Receive Your FREE Binary Options Trading Guide! Binary Options Binary Option Binary Options Trading Bina... http://tinyurl.com/GOptions-2014 = Binary Options Platform 2014 60 Seconds Binary Options Trading Websites i.e. Plus500, 24Option, Banc de Binary, GOptions ... CLICK HERE: http://www.60SecondSystem.com 60 Seconds Binary Options Strategy Mail: [email protected] telegram and whatsapp 3460784176 *link stars binary: https://starsbinary.com/ref/sb542 💰💲FULL BEGINNER? Join My PERSONAL TRAINING!💴💵 BLW Trading Academy: http://www.blwtradingacademy.com/ Live Trading Signals HERE!🔙💲💹Join My ... The NEW Binary Options Indicator Signals Platinum Trading System including the new MC indicator. For more info and to get the system please visit: http://bin... http://60secondcashsystem.com/ Click Link To Left To Receive Your FREE Binary Options Trading Guide! 60 Second Binary Options Trading on Trade Rush Hi Friends I will Show This Video Binary Options 60 Seconds Indicator Signal 99% Winning Live Trading Proof -----... 60 Seconds binary options strategy 99 - 100% Winning (100% profit guaranteed) 90 - 95% Winning Binary Options Strategy in case of correct prediction - 1 to 5...

https://arab-binary-option.highheaddrahydla.tk