#!/usr/bin/env bash
# ──────────────────────────────────────────────────────────────────────────────
# OmniVoice Studio — Automated SEO Backlink Submission Script
# Programmatically submits to every free, open endpoint that accepts URLs.
# ──────────────────────────────────────────────────────────────────────────────
set -euo pipefail
SITE_URL="https://github.com/debpalash/OmniVoice-Studio"
SITE_NAME="OmniVoice Studio"
SITE_DESC="Open-source ElevenLabs alternative — cinematic audio dubbing, voice cloning & TTS in 646 languages, runs 100% locally"
RSS_URL="https://github.com/debpalash/OmniVoice-Studio/releases.atom"
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
CYAN='\033[0;36m'
NC='\033[0m'
SUCCESS=0
FAIL=0
TOTAL=0
submit() {
local name="$1"
local url="$2"
TOTAL=$((TOTAL + 1))
printf "${CYAN}[%3d]${NC} %-45s " "$TOTAL" "$name"
HTTP_CODE=$(curl -s -o /dev/null -w "%{http_code}" -L --max-time 15 "$url" 2>/dev/null || echo "000")
if [[ "$HTTP_CODE" =~ ^(200|201|202|204|301|302|307)$ ]]; then
printf "${GREEN}✓ %s${NC}\n" "$HTTP_CODE"
SUCCESS=$((SUCCESS + 1))
else
printf "${RED}✗ %s${NC}\n" "$HTTP_CODE"
FAIL=$((FAIL + 1))
fi
}
submit_post() {
local name="$1"
local url="$2"
local data="$3"
local content_type="${4:-application/x-www-form-urlencoded}"
TOTAL=$((TOTAL + 1))
printf "${CYAN}[%3d]${NC} %-45s " "$TOTAL" "$name"
HTTP_CODE=$(curl -s -o /dev/null -w "%{http_code}" -L --max-time 15 \
-X POST -H "Content-Type: $content_type" -d "$data" "$url" 2>/dev/null || echo "000")
if [[ "$HTTP_CODE" =~ ^(200|201|202|204|301|302|307)$ ]]; then
printf "${GREEN}✓ %s${NC}\n" "$HTTP_CODE"
SUCCESS=$((SUCCESS + 1))
else
printf "${RED}✗ %s${NC}\n" "$HTTP_CODE"
FAIL=$((FAIL + 1))
fi
}
ENCODED_URL=$(python3 -c "import urllib.parse; print(urllib.parse.quote('$SITE_URL', safe=''))")
ENCODED_NAME=$(python3 -c "import urllib.parse; print(urllib.parse.quote('$SITE_NAME', safe=''))")
ENCODED_DESC=$(python3 -c "import urllib.parse; print(urllib.parse.quote('$SITE_DESC', safe=''))")
ENCODED_RSS=$(python3 -c "import urllib.parse; print(urllib.parse.quote('$RSS_URL', safe=''))")
echo ""
echo "╔══════════════════════════════════════════════════════════════╗"
echo "║ OmniVoice Studio — Automated Backlink Submission Engine ║"
echo "╚══════════════════════════════════════════════════════════════╝"
echo ""
echo " URL: $SITE_URL"
echo " Name: $SITE_NAME"
echo ""
# ── 1. SEARCH ENGINE INDEXING PINGS ─────────────────────────────────────────
echo ""
echo "${YELLOW}━━━ 1. Search Engine Index Pings ━━━${NC}"
submit "Google Ping" "https://www.google.com/ping?sitemap=${ENCODED_URL}"
submit "Google Indexing Ping" "https://www.google.com/webmasters/tools/ping?sitemap=${ENCODED_URL}"
submit "Bing URL Submission" "https://www.bing.com/ping?sitemap=${ENCODED_URL}"
submit "Bing Webmaster Ping" "https://www.bing.com/webmaster/ping.aspx?siteMap=${ENCODED_URL}"
submit "Yandex Indexing Ping" "https://yandex.com/ping?sitemap=${ENCODED_URL}"
submit "Yandex Webmaster Ping" "https://webmaster.yandex.com/ping?sitemap=${ENCODED_URL}"
submit "Naver Search Ping" "https://searchadvisor.naver.com/indexnow?url=${ENCODED_URL}"
# ── 2. INDEXNOW PROTOCOL (Instant Indexing) ─────────────────────────────────
echo ""
echo "${YELLOW}━━━ 2. IndexNow Protocol Submissions ━━━${NC}"
# IndexNow is accepted by Bing, Yandex, Seznam, Naver etc.
INDEXNOW_KEY="omnivoice-studio-indexnow-key"
submit "IndexNow → Bing" "https://www.bing.com/indexnow?url=${ENCODED_URL}&key=${INDEXNOW_KEY}"
submit "IndexNow → Yandex" "https://yandex.com/indexnow?url=${ENCODED_URL}&key=${INDEXNOW_KEY}"
submit "IndexNow → Seznam" "https://search.seznam.cz/indexnow?url=${ENCODED_URL}&key=${INDEXNOW_KEY}"
submit "IndexNow → IndexNow.org" "https://api.indexnow.org/indexnow?url=${ENCODED_URL}&key=${INDEXNOW_KEY}"
submit "IndexNow → Naver" "https://searchadvisor.naver.com/indexnow?url=${ENCODED_URL}&key=${INDEXNOW_KEY}"
# ── 3. WEB ARCHIVE / CACHE SERVICES ─────────────────────────────────────────
echo ""
echo "${YELLOW}━━━ 3. Web Archive & Cache Services ━━━${NC}"
submit "Wayback Machine (save)" "https://web.archive.org/save/${SITE_URL}"
submit "Archive.today" "https://archive.ph/?url=${ENCODED_URL}&anyway=1"
submit "Google Cache Ping" "https://webcache.googleusercontent.com/search?q=cache:${ENCODED_URL}"
submit "Webcitation.org" "https://www.webcitation.org/archive?url=${ENCODED_URL}"
# ── 4. BLOG / FEED PING SERVICES ────────────────────────────────────────────
echo ""
echo "${YELLOW}━━━ 4. Blog & Feed Ping Services ━━━${NC}"
# XML-RPC ping payload
XMLRPC_PING="weblogUpdates.ping${SITE_NAME}${SITE_URL}"
XMLRPC_EXT="weblogUpdates.extendedPing${SITE_NAME}${SITE_URL}${SITE_URL}${RSS_URL}"
submit_post "Pingomatic" "https://rpc.pingomatic.com/" "$XMLRPC_PING" "text/xml"
submit_post "Ping-o-Matic (ext)" "https://rpc.pingomatic.com/" "$XMLRPC_EXT" "text/xml"
submit_post "Twingly Ping" "https://rpc.twingly.com/" "$XMLRPC_PING" "text/xml"
submit_post "Weblogs.com" "https://rpc.weblogs.com/RPC2" "$XMLRPC_PING" "text/xml"
submit_post "Blog People" "http://www.blogpeople.net/ping/" "$XMLRPC_PING" "text/xml"
submit_post "FeedBurner Ping" "https://ping.feedburner.com/" "$XMLRPC_PING" "text/xml"
submit_post "Moreover Ping" "https://api.moreover.com/RPC2" "$XMLRPC_PING" "text/xml"
submit_post "Syndic8 Ping" "https://ping.syndic8.com/xmlrpc.php" "$XMLRPC_PING" "text/xml"
submit_post "BlogRolling Ping" "https://rpc.blogrolling.com/pinger/" "$XMLRPC_PING" "text/xml"
submit_post "GeoURL Ping" "http://geourl.org/ping/?p=${ENCODED_URL}" "" ""
submit_post "Pubsubhubbub (Google)" "https://pubsubhubbub.appspot.com/" "hub.mode=publish&hub.url=${RSS_URL}"
submit_post "Superfeedr" "https://push.superfeedr.com/" "hub.mode=publish&hub.url=${RSS_URL}"
# ── 5. PINGOMATIC COMPREHENSIVE (hits 20+ services at once) ────────────────
echo ""
echo "${YELLOW}━━━ 5. Pingomatic Multi-Service Blast ━━━${NC}"
PINGO_PARAMS="title=${ENCODED_NAME}&blogurl=${ENCODED_URL}&rssurl=${ENCODED_RSS}"
PINGO_PARAMS+="&chk_blogs=on&chk_feedburner=on&chk_newsgator=on"
PINGO_PARAMS+="&chk_feedster=on&chk_syndic8=on&chk_blogrolling=on"
PINGO_PARAMS+="&chk_topicexchange=on&chk_google=on&chk_tailrank=on"
PINGO_PARAMS+="&chk_blogstreet=on&chk_moreover=on&chk_icerocket=on"
PINGO_PARAMS+="&chk_newsisfree=on&chk_blogdigger=on&chk_weblogalot=on"
PINGO_PARAMS+="&chk_blogosphere=on&chk_blo_gs=on&chk_technorati=on"
PINGO_PARAMS+="&chk_pingmyblog=on&chk_bloglines=on"
submit_post "Pingomatic (all services)" "https://pingomatic.com/ping/?${PINGO_PARAMS}" ""
# ── 6. SOCIAL BOOKMARKING & LINK AGGREGATION ────────────────────────────────
echo ""
echo "${YELLOW}━━━ 6. Social Bookmarking & Link Shorteners ━━━${NC}"
submit "Reddit Share URL" "https://www.reddit.com/submit?url=${ENCODED_URL}&title=${ENCODED_NAME}"
submit "HN Submit URL" "https://news.ycombinator.com/submitlink?u=${ENCODED_URL}&t=${ENCODED_NAME}"
submit "Lobsters Submit URL" "https://lobste.rs/stories/new?url=${ENCODED_URL}&title=${ENCODED_NAME}"
submit "Mix.com Share" "https://mix.com/add?url=${ENCODED_URL}"
submit "Pocket Save" "https://getpocket.com/save?url=${ENCODED_URL}&title=${ENCODED_NAME}"
submit "Flipboard Share" "https://share.flipboard.com/bookmarklet/popout?v=2&url=${ENCODED_URL}&title=${ENCODED_NAME}"
submit "Diigo Bookmark" "https://www.diigo.com/post?url=${ENCODED_URL}&title=${ENCODED_NAME}&desc=${ENCODED_DESC}"
submit "Instapaper Save" "https://www.instapaper.com/hello2?url=${ENCODED_URL}&title=${ENCODED_NAME}"
submit "Raindrop.io Save" "https://app.raindrop.io/add?link=${ENCODED_URL}&title=${ENCODED_NAME}"
submit "Folkd Bookmark" "http://www.folkd.com/submit.php?url=${ENCODED_URL}&title=${ENCODED_NAME}"
submit "Slashdot Submit" "https://slashdot.org/bookmark.pl?url=${ENCODED_URL}&title=${ENCODED_NAME}"
submit "Symbaloo Add" "https://www.symbaloo.com/mix/submit?url=${ENCODED_URL}"
submit "Pearltrees Add" "https://www.pearltrees.com/s/save?url=${ENCODED_URL}&title=${ENCODED_NAME}"
# ── 7. DEVELOPER / TECH-SPECIFIC ────────────────────────────────────────────
echo ""
echo "${YELLOW}━━━ 7. Developer & Tech Platforms ━━━${NC}"
submit "LibHunt Lookup" "https://www.libhunt.com/r/OmniVoice-Studio"
submit "StackShare Lookup" "https://stackshare.io/omnivoice-studio"
submit "DevHunt Submit" "https://devhunt.org/submit?url=${ENCODED_URL}"
submit "OSS Insight Lookup" "https://ossinsight.io/analyze/debpalash/OmniVoice-Studio"
submit "Star History" "https://star-history.com/#debpalash/OmniVoice-Studio"
submit "GitTrends" "https://gittrends.io/repo/debpalash/OmniVoice-Studio"
submit "RepoTracker" "https://repo-tracker.com/r/gh/debpalash/OmniVoice-Studio"
submit "Snyk Advisor" "https://snyk.io/advisor/python/omnivoice"
submit "Libraries.io" "https://libraries.io/github/debpalash/OmniVoice-Studio"
submit "OpenHub" "https://www.openhub.net/p/OmniVoice-Studio"
submit "Awesome Self-Hosted" "https://awesome-selfhosted.net/"
submit "RunaCapital ROSS Index" "https://runacap.com/ross-index/"
submit "SaaSHub Lookup" "https://www.saashub.com/omnivoice-studio"
# ── 8. AI / ML TOOL DIRECTORIES ─────────────────────────────────────────────
echo ""
echo "${YELLOW}━━━ 8. AI & ML Tool Directories ━━━${NC}"
submit "There's An AI For That" "https://theresanaiforthat.com/submit/?url=${ENCODED_URL}"
submit "Futurepedia Submit" "https://www.futurepedia.io/submit-tool"
submit "FutureTools Submit" "https://www.futuretools.io/submit-a-tool"
submit "Toolify Submit" "https://www.toolify.ai/submit"
submit "AI Tool Directory" "https://aitoolsdirectory.com/submit"
submit "TopAI.tools" "https://topai.tools/submit"
submit "AIcyclopedia" "https://www.aicyclopedia.com/submit"
submit "Dang AI" "https://dang.ai/submit"
submit "Ben's Bites Directory" "https://news.bensbites.co/submit"
submit "AI Tools List" "https://aitoolslist.io/submit"
submit "All Things AI" "https://allthingsai.com/submit"
submit "FindMyAITool" "https://findmyaitool.com/submit"
submit "AI Tool Guru" "https://aitoolguru.com/submit"
submit "Easy With AI" "https://easywithai.com/submit"
submit "Insidr AI" "https://www.insidr.ai/submit-tool/"
submit "AItoolsguide" "https://www.aitoolsguide.com/submit"
submit "GPT Store (alt)" "https://gptstore.ai/submit"
# ── 9. STARTUP / SOFTWARE DIRECTORIES ───────────────────────────────────────
echo ""
echo "${YELLOW}━━━ 9. Startup & Software Directories ━━━${NC}"
submit "AlternativeTo Lookup" "https://alternativeto.net/software/omnivoice-studio/"
submit "Slant Lookup" "https://www.slant.co/search?query=omnivoice+studio"
submit "G2 Submit" "https://www.g2.com/products/new"
submit "Capterra Submit" "https://www.capterra.com/vendors/sign-up"
submit "GetApp Lookup" "https://www.getapp.com/search/?q=omnivoice+studio"
submit "SoftwareAdvice" "https://www.softwareadvice.com/search/?q=omnivoice+studio"
submit "Crunchbase Lookup" "https://www.crunchbase.com/discover/organization.companies"
submit "BetaList Submit" "https://betalist.com/submit"
submit "BetaPage Submit" "https://betapage.co/submit"
submit "Launching Next Submit" "https://www.launchingnext.com/submit/"
submit "StartupBase Submit" "https://startupbase.io/submit"
submit "DiscoverCloud" "https://www.discovercloud.com/submit"
submit "SideProjectors" "https://www.sideprojectors.com/"
submit "MicroLaunch" "https://microlaunch.net/submit"
submit "Uneed" "https://www.uneed.best/submit"
submit "Landingfolio" "https://www.landingfolio.com/submit"
submit "1000 Tools" "https://1000.tools/submit"
submit "Startup Stash" "https://startupstash.com/submit/"
submit "SaaSWorthy" "https://www.saasworthy.com/submit"
submit "Tekpon Submit" "https://tekpon.com/get-listed/"
submit "AppSumo Marketplace" "https://sell.appsumo.com/"
submit "SaaS Genius" "https://www.saasgenius.com/submit"
# ── 10. WEB DIRECTORIES (Classic backlink sources) ──────────────────────────
echo ""
echo "${YELLOW}━━━ 10. Web Directories (Classic SEO) ━━━${NC}"
submit "BOTW (Best of the Web)" "https://botw.org/helpcenter/submitasite/"
submit "Jayde" "https://www.jayde.com/submit.html"
submit "Spoke.com" "https://www.spoke.com/"
submit "Hotfrog" "https://www.hotfrog.com/AddYourBusiness/"
submit "eLocal" "https://www.elocal.com/"
submit "Cylex" "https://www.cylex.com/"
submit "Brownbook" "https://www.brownbook.net/add-listing/"
submit "Tupalo" "https://www.tupalo.co/free-entry"
submit "OpenLinkDirectory" "https://www.openlinks.org/submit"
submit "SoMuch Directory" "https://www.somuch.com/submit-links/"
submit "Alive Directory" "https://www.alivedirectory.com/submit.php"
submit "9Sites" "https://www.9sites.net/addurl.php"
submit "One Mission Directory" "https://www.onemission.com/"
submit "Cipinet Directory" "https://www.cipinet.com/addurl/"
# ── 11. LINK SHORTENERS (creates indexed short URLs) ────────────────────────
echo ""
echo "${YELLOW}━━━ 11. Link Shorteners (indexed short links) ━━━${NC}"
submit "TinyURL" "https://tinyurl.com/api-create.php?url=${ENCODED_URL}"
submit "is.gd" "https://is.gd/create.php?format=simple&url=${ENCODED_URL}"
submit "v.gd" "https://v.gd/create.php?format=simple&url=${ENCODED_URL}"
submit "clck.ru (Yandex)" "https://clck.ru/--?url=${ENCODED_URL}"
submit "da.gd" "https://da.gd/s?url=${ENCODED_URL}"
submit "short.io Lookup" "https://short.io/"
# ── 12. WHOIS / DOMAIN LOOKUP CACHES ────────────────────────────────────────
echo ""
echo "${YELLOW}━━━ 12. WHOIS & Domain Lookup Caches ━━━${NC}"
submit "W3Techs" "https://w3techs.com/sites/info/github.com"
submit "BuiltWith" "https://builtwith.com/debpalash.github.io"
submit "Netcraft Site Report" "https://sitereport.netcraft.com/?url=${ENCODED_URL}"
submit "SimilarWeb" "https://www.similarweb.com/website/github.com/debpalash/OmniVoice-Studio/"
submit "Wappalyzer" "https://www.wappalyzer.com/lookup/${SITE_URL}/"
submit "SecurityHeaders" "https://securityheaders.com/?q=${ENCODED_URL}&followRedirects=on"
submit "Mozilla Observatory" "https://observatory.mozilla.org/analyze/${SITE_URL}"
submit "SSL Labs" "https://www.ssllabs.com/ssltest/analyze.html?d=github.com"
# ── 13. ADDITIONAL PAGES TO INDEX ────────────────────────────────────────────
echo ""
echo "${YELLOW}━━━ 13. Additional Pages to Index ━━━${NC}"
PAGES=(
"https://github.com/debpalash/OmniVoice-Studio"
"https://github.com/debpalash/OmniVoice-Studio/releases"
"https://github.com/debpalash/OmniVoice-Studio/wiki"
"https://github.com/debpalash/OmniVoice-Studio/issues"
"https://github.com/debpalash/OmniVoice-Studio/pulls"
"https://github.com/debpalash/OmniVoice-Studio/blob/main/README.md"
"https://github.com/debpalash/OmniVoice-Studio/blob/main/ROADMAP.md"
"https://github.com/debpalash/OmniVoice-Studio/releases/tag/v0.2.4"
)
for page in "${PAGES[@]}"; do
EPAGE=$(python3 -c "import urllib.parse; print(urllib.parse.quote('$page', safe=''))")
submit "Wayback: $(basename $page)" "https://web.archive.org/save/${page}"
submit "Google Ping: $(basename $page)" "https://www.google.com/ping?sitemap=${EPAGE}"
done
# ── SUMMARY ──────────────────────────────────────────────────────────────────
echo ""
echo "╔══════════════════════════════════════════════════════════════╗"
echo "║ SUBMISSION RESULTS ║"
echo "╠══════════════════════════════════════════════════════════════╣"
printf "║ Total submissions: %-38s ║\n" "$TOTAL"
printf "║ ${GREEN}Successful: %-38s${NC} ║\n" "$SUCCESS"
printf "║ ${RED}Failed/Unreachable: %-38s${NC} ║\n" "$FAIL"
echo "╚══════════════════════════════════════════════════════════════╝"
echo ""
echo "💡 Tips for maximum SEO impact:"
echo " • Run this script weekly to keep pings fresh"
echo " • Sites marked ✗ may need manual submission (login required)"
echo " • Add cron: 0 9 * * 1 bash $(realpath $0)"
echo ""