Files

77 lines
4.2 KiB
Markdown

# bin Scripts Collection
Personal scripts, tools and helpers in `~/bin`. 381 files, 290 shebang scripts, 48 dedicated shell scripts (below).
## Shell Scripts (48)
| Script | Description |
|--------|-------------|
| `antisocial_scan.sh` | Wi network scanning for ESSID and MAC addresses |
| `antisocial.sh` | Wireless network deauthing/deauth tool |
| `archer_router_wifi_fix_20260923-050642.sh` | Diagnose a "stuck" TP-Link/Archer router: per-interface ping + admin page checks, `wifi` mode for post-reboot Wi-Fi-only verification |
| `banSuckers.sh` | Blocks SSH failed attackers by IP |
| `bbc_ws.sh` | Plays BBC World Service radio stream |
| `bluesound.sh` | PulseAudio loopback for Bluesound speaker |
| `clip-sanitizer.sh` | Sanitizes clipboard contents on change (`clipnotify` loop) |
| `compilerArm.sh` | Links ARM gcc compiler tools |
| `compilerX64.sh` | Removes ARM links for x86 compiler |
| `drop_caches.sh` | Drops system file caches |
| `fantune.sh` | PWM fan control testing and data logging |
| `getTime.sh` | Gets file modification time |
| `git-diff.sh` | Simple git diff using meld |
| `git-meld.sh` | Git repository diff comparison tool |
| `Google.sh` | Google search via elinks browser |
| `h264Parallel.sh` | H264 parallel encoding into segments |
| `icecastFileWebm.sh` | File to WebM streaming via GStreamer |
| `icecast.sh` | Video4linux2 to Icecast Theora/Ogg streaming |
| `icecastWebmIIM.sh` | Video4linux2 to WebM with ICEcast+Jack audio |
| `icecastWebmIIMtest.sh` | Test version with video testsrc |
| `icecastWebm.sh` | Video4linux2 to WebM streaming |
| `icecastWebmX11giss.sh` | X11 screen capture to WebM with GISS |
| `icecastWebmX11IIM.sh` | X11 screen capture to WebM with IIM |
| `icecastWebmX11.sh` | X11 screen capture to WebM |
| `icecastXX.sh` | Xvfb + YouTube effect + WebM streaming |
| `icelocal.sh` | Local video melting and ICE streaming |
| `icemeltFast.sh` | Fast video melting to WebM format |
| `icescreenmelt.sh` | Screen recording melt to WebM |
| `iimTestStream.sh` | Test ICE stream generation |
| `jackgoto.sh` | Jack transport time to seconds conversion |
| `lanDiscover.sh` | LAN discovery using pinger |
| `mailsync.sh` | OfflineIMAP process monitor/killer |
| `manhattanPulse.sh` | Audio streaming to Icecast server |
| `plus.sh` | Cesnet PLUS radio stream player |
| `postFacebook.sh` | Facebook Page photo/text poster (Graph API) |
| `postMastodon.sh` | Mastodon status poster with media |
| `publish.sh` | Publish an image: postgen + Mastodon + Facebook + Ko-fi |
| `radioKlobouk.sh` | Radio streaming to Icecast server |
| `reportIP.sh` | AbuseIPDB IP reputation report |
| `scan.sh` | Wi AP scanner outputting CSV format |
| `screencap.sh` | X11 window capture ffmpeg command generator |
| `screencast.sh` | Screen+Jack audio screencast to MKV |
| `shout.sh` | FIFO-based broadcasting loop |
| `stream.sh` | Icecast MP3 streaming loop |
| `tctosec.sh` | Timecode (HH:MM:SS:FR) to seconds conversion |
| `turbovnc-with-sound.sh` | VNC with sound over SSH tunnel |
| `upyt.sh` | YouTube upload with media info |
| `video_collage.sh` | Video clip collage creator from directory |
## Facebook publishing (postFacebook.sh)
Posts to a Facebook **Page** via the Graph API (personal profiles are not supported by the API).
### One-time token setup (~15 min)
1. `developers.facebook.com` → **Create app** (type: Business) → add **Facebook Login for Business** product.
2. **Graph API Explorer** (in the app) → get a short-lived *user* token with scopes:
`pages_show_list`, `pages_manage_posts`, `pages_read_engagement`, `public_profile`.
3. Exchange for a long-lived user token (~60 days):
`GET https://graph.facebook.com/v25.0/oauth/access_token?grant_type=fb_exchange_token&client_id={APP_ID}&client_secret={APP_SECRET}&fb_exchange_token={short_token}`
4. Get the Page token + Page ID (long-lived page tokens do not expire unless revoked):
`GET https://graph.facebook.com/v25.0/me/accounts?access_token={long_lived_user_token}`
→ copy the `id` and `access_token` of your Page.
5. Store them:
- `echo -n '<PAGE_ACCESS_TOKEN>' > ~/.facebook-token`
- `echo -n '<PAGE_ID>' > ~/.facebook-page-id`
(or export `FACEBOOK_TOKEN` / `FACEBOOK_PAGE_ID`).
### Usage
`postFacebook.sh 'caption text' image.png`