Skip to content

Instantly share code, notes, and snippets.

Ömer Faruk Çakı ofarukcaki

Block or report user

Report or block ofarukcaki

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile

Keybase proof

I hereby claim:

  • I am ofarukcaki on github.
  • I am ofarukcaki ( on keybase.
  • I have a public key ASAn0XqOvhlUKBynDCTdY7c5D9fIuZl6h5mZlwlQ73WDiwo

To claim this, I am signing this object:

View puppeteer.captcha.module.js
const puppeteer = require("puppeteer");
const captcha = require("async-captcha");
const anticaptcha = new captcha("YOUR_API_KEY", 2, 10); // (api_key, interval(seconds), retry(amount))
(async () => {
const browser = await puppeteer.launch({
headless: false,
defaultViewport: false
const page = (await browser.pages())[0];
View puppeteer.captcha.js
const puppeteer = require("puppeteer");
(async () => {
const browser = await puppeteer.launch({
headless: false,
defaultViewport: false
const page = (await browser.pages())[0];
// imaginary page with a captcha on it
await page.goto(
ofarukcaki / client.js
Created Mar 23, 2019 — forked from crtr0/client.js
A simple example of setting-up dynamic "rooms" for clients to join
View client.js
// set-up a connection between the client and the server
var socket = io.connect();
// let's assume that the client page, once rendered, knows what room it wants to join
var room = "abc123";
socket.on('connect', function() {
// Connected, let's sign-up for to receive messages for this room
socket.emit('room', room);
ofarukcaki / free_email_provider_domains.txt
Created Feb 22, 2019 — forked from tbrianjones/free_email_provider_domains.txt
A list of free email provider domains. Some of these are probably not around anymore. I've combined a dozen lists from around the web. Current "major providers" should all be in here as of the date this is created.
View free_email_provider_domains.txt
ofarukcaki / next.config.js
Created Jan 23, 2019 — forked from balupton/next.config.js
next.js webpack configs
View next.config.js
module.exports = {
webpack: (config) => {
const webpack = require('webpack')
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
config.plugins = config.plugins || []
config.plugins.push(new webpack.ContextReplacementPlugin(/moment[/\\]locale$/, /en/))
config.plugins.push(new BundleAnalyzerPlugin())
return config

Option 1: Command-line download extension as zip and extract

extension_id=jifpbeccnghkjeaalbbjmodiffmgedin   # change this ID
curl -L -o "$" "$extension_id%26uc" 
unzip -d "$extension_id-source" "$"

Thx to crxviewer for the magic download URL.

ofarukcaki /
Last active Jul 26, 2018
create-react-app with react-router Nginx 404 error solution in page refresh

You need to edit /etc/nginx/sites/available/default file

change the location part as follows

location / { try_files $uri $uri/ /index.html; }

lastly, refresh the Nginx with sudo servuce restart nginx

ofarukcaki /
Created May 22, 2018 — forked from matthewjberger/
How to make an electron app using Create-React-App and Electron with Electron-Builder.

How to setup Shadowsocks on your Ubuntu server

Your school or company network may block the access to a few specific websites. To solve this problem, I'd highly recommend Shadowsocks, since it is the easiest proxy tool I've ever found, and it's FREE (of course iff you have your own server running).

First, ssh to your server, and make sure you have Python and pip installed. If you have Python but not pip, install it using the following command

$ sudo apt-get install python3-pip
You can’t perform that action at this time.