This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
# PinePhone video recording using ffmpeg with preview | |
# Based on https://gitlab.com/Alaraajavamma/fastvideo | |
# Video recording requires a recent Linux kernel version like 6.6: https://forum.pine64.org/showthread.php?tid=16539&pid=122700#pid122700 | |
# The script is based on v4l2loopback (setup instructions can be found at the end of the script). | |
# Close the first preview window to start recording and close the second preview window to end recording. | |
# Video recording does not work when using rear camera if Megapixels was closed after switching to front camera (error "Not a video capture device", can be fixed by reopening Megapixels). | |
# | |
# For quick access, you can create a file like ~/.local/share/applications/megavideo.desktop with this content (without # at the beginnning of lines, adjust executable path if needed): |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* Customized code to allow WebRTC record on existing page or HTML5 video blob download (based on https://github.com/webrtc/samples/blob/409d5631f38f2bdc4dafb5275d1bc77738fbb1ba/src/content/getusermedia/record/js/main.js) | |
* Recording will start when executing this script and you will have to execute manually startDownload() function when needed in web console with or without stopRecording() | |
* Recording should ideally start before playing video manually and in case controls are hidden, you can record from the start with a command like document.getElementsByTagName("video")[0].currentTime = 0 | |
* By default, the script targets the first video element document.getElementsByTagName("video")[0] but you can change the code if needed. | |
*/ | |
// If there is an error due to DRM, capture the stream by executing the following 2 lines before playing / loading the video: | |
var video = document.getElementsByTagName("video")[0]; | |
var stream = video.captureStream ? video.captureStream() : video.mozCaptureStream(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* This script will allow you to use the Ctrl+F search function of your web browser to search text in all posts / comments | |
* (without sending your search requests to Facebook and the HTML page can be saved with Ctrl+S as a backup for offline use). | |
* It is also useful if you want to save the content of a Facebook group that requires you to renew a paid membership to remain a member | |
* (video / audio / image and other files should be downloaded separately) */ | |
// replace with your language translation if needed (case-sensitive) | |
var moreCommentText = "^View 1 more comment$"; // if the text is only "comment", script will click on unintended links containing the word "comment" in the page title | |
var moreCommentsText = "^View [0-9]+ more comments$"; | |
var previousCommentsText = "^View previous comments$"; | |
var moreReplyText = "^View 1 more reply$"; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<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) { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ==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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* Facebook friends / people search / group members backup in web browser | |
* Scroll down to your friends page or a people search page to load all profiles | |
* Copy-paste the script below in a web browser console (F12 key or Ctrl+Shift+K shortcut in a browser like Firefox) and execute the desired function, for example by typing FacebookFriendsBackup() in the console and pressing enter | |
* A textarea will appear at the end of the page so you can copy the data and paste it in a text file before saving it as a CSV file | |
* You can then view your backup in a spreadsheet editor like LibreOffice Calc | |
* You can also compare the backup with another one to see who removed you from their friends list or who appeared in a new search (e.g. with the Linux diff command or awk for column diff https://unix.stackexchange.com/questions/174599/using-diff-on-a-specific-column-in-a-file/174603#174603) | |
* If the friend changed their name or profile URL, you can still find them with their profile ID which is backed up in the last colu |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
Instagram API: send direct messages from a web browser | |
Since April 2020, Instagram has a web version to send and read direct messages so my Instagram scripts are not longer needed and I would not recommend using them unless you really need it, to avoid being banned | |
(never happened to me with Instagram but WhatsApp is owned by Facebook also and they did it to users registering from an unofficial app like yowsup: https://github.com/tgalal/yowsup/commit/88b8ad9581fa22dac330ee3a05fec4e485dfa634#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5) | |
For browser setup, see script instagram-api_direct_messages_backup.js | |
Instagram web version sessionid cookie does not allow sending messages so we need to log in manually | |
Signature should match signed_body data (using HMAC-SHA256 with private key) but wrong signature or key may work also. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
Instagram API: view and backup direct messages from a web browser | |
Since April 2020, Instagram has a web version to send and read direct messages so my Instagram scripts are not longer needed and I would not recommend using them unless you really need it, to avoid being banned | |
(never happened to me with Instagram but WhatsApp is owned by Facebook also and they did it to users registering from an unofficial app like yowsup: https://github.com/tgalal/yowsup/commit/88b8ad9581fa22dac330ee3a05fec4e485dfa634#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5) | |
1) Log in on Instagram web version and go to your profile page | |
(the home page will not work because it loads data when scrolling down and the direct messages will be displayed at the bottom of the page) | |
2) Modify HTTP headers with a browser addon like Header Editor (https://addons.mozilla.org/en-US/firefox/addon/header-editor/) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
* config | |
*/ | |
var token = "XXX"; | |
var limit = 5000; | |
var id1 = "XXX"; | |
var id2 = "XXX"; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ==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. */ |
NewerOlder