Skip to content

Instantly share code, notes, and snippets.

@baptx
baptx / twitter_timeline_scroll.js
Last active August 29, 2015 14:07
Twitter timeline scroll
// Scroll Twitter home (worked for profiles too before a Twitter update)
/*var target_tweet = document.getElementById("stream-items-id");
var target_fail = document.getElementsByClassName("stream-fail-container")[0];*/
// Scroll Twitter profiles
var target_tweet = document.getElementsByClassName("GridTimeline-items")[0];
var target_fail = document.getElementsByClassName("GridTimeline-failure")[0];
var height = target_tweet.scrollHeight;
var observer = new MutationObserver(function(mutations) {
@baptx
baptx / twitter_timeline_update.js
Created October 12, 2014 13:46
Twitter timeline update
var target_tweet = document.getElementsByClassName("stream-container")[0];
var observer = new MutationObserver(function(mutations) {
for (var i = 0; mutations[i]; i++)
document.getElementsByClassName("new-tweets-bar")[0].click();
});
var config = { attributes: true, childList: true, characterData: true }
observer.observe(target_tweet, config);
@baptx
baptx / amazon_mp3_multiple_download.user.js
Created October 12, 2014 13:56
Amazon MP3 multiple download (Amazon Cloud Player for Web)
// ==UserScript==
// @name amazon_mp3_multiple_download
// @namespace amazon
// @description Download all songs in current playlist
// @include https://www.amazon.*/gp/dmusic/mp3/player*
// @version 1
// @grant none
// ==/UserScript==
setTimeout(function() {
@baptx
baptx / remame_by_playlist_index.sh
Created October 12, 2014 14:02
Rename by playlist index
IFS=$'\n'
if [ $# -gt 0 ]; then
if [ ! -f $1 ]; then
echo "Error: file $1 does not exist"
exit
fi
path=`echo $1 | rev | cut -d / -f 2- | rev`
if [ $path == $1 ]; then
path=$PWD
fi
@baptx
baptx / copy_folder_by_filename.sh
Created October 12, 2014 14:05
Copy folder by filename
IFS=$'\n'
if [ $# == 2 ]; then
if [ ! -d $1 ]; then
echo "Error: directory $1 does not exist"
else
dir=$1
len=$((${#dir} + 1))
if [ ! -d $2 ]; then
mkdir $2
fi
@baptx
baptx / 2letters_domains_available.node.js
Last active April 30, 2018 09:59
List available 2 letters domain names in JavaScript using Node.js / JXcore
var https = require("https");
var fs = require("fs");
var ws = fs.createWriteStream("2letters_domains_available.txt");
var domain = "aa.lc"; // format: aa.tld
var numbers = false; // include numbers
function apiParse(body)
{
var status = JSON.parse(body)[0].available;
@baptx
baptx / freelancer_country_filter.user.js
Last active July 1, 2020 13:16
freelancer.com country filter
// ==UserScript==
// @name freelancer.com country filter
// @namespace https://drawcode.eu/
// @include https://www.freelancer.com/projects/*
// @version 1
// @grant none
// ==/UserScript==
// Commented script needs to run in web console on a job search page (e.g. in a separate Firefox profile to avoid new tab focus and tabs overflow)
// You need to be logged in because the logged out page is different and displays less jobs
@baptx
baptx / twitter_archive_to_csv.htm
Last active August 4, 2020 20:08
Twitter archive to CSV
<script>
// copy tweets variable from tweets.js file of your Twitter archive
var tweets = [];
// Open this HTML file and execute the following JavaScript code in the web console (F12 or Ctrl+Shift+K shortcut)
// A textarea will appear so you can copy/paste to save data as a CSV file
/*
var out = [];
var length = tweets.length;
for (var i = 0; i < length; ++i) {
@baptx
baptx / facebook_graph_api.js
Last active December 4, 2020 23:29
Facebook Graph API groups members intersection (deprecated)
/*
* config
*/
var token = "XXX";
var limit = 5000;
var id1 = "XXX";
var id2 = "XXX";
@baptx
baptx / francetv_get_m3u8.user.js
Last active December 7, 2020 14:23
Get M3U8 streaming URL from France TV info replay website
// ==UserScript==
// @name get_m3u8
// @namespace francetvinfo
// @include http://www.francetvinfo.fr/*
// @version 1
// @grant none
// ==/UserScript==
/* Using Content Script Injection (window.functionName) to make function available outside GreaseMonkey scope
Page reload is needed if using existing function _jsonp_loader_callback_request_0. */