This repository and backup archive serves as the centralized offline and cloud hub for AP Precalculus (Grade 9). It contains lesson video archives, direct MP4 streaming links, textbooks, worksheets, and answer keys hosted publicly with zero authentication required.
- GitHub Username:
MegaAntony - Live Website: https://megaantony.github.io/ap-precalc-streams/
- GitHub Repository: https://github.com/MegaAntony/ap-precalc-streams
- Local Git Repo Path:
/Users/anish/ap-precalc-streams/ - Backup & Materials Path:
/Volumes/Backup/Antony/HighSchool/Grade9/Math/AP Precalculus/
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKNMmVVgIknZ8nylByh9K74/GnaXwQ4gJ/Go24lWEy82 MegaAntony@github
- Public Key:
~/.ssh/id_ed25519.pub(/Users/anish/.ssh/id_ed25519.pub) - Private Key:
~/.ssh/id_ed25519(/Users/anish/.ssh/id_ed25519) - SSH Config:
~/.ssh/config(/Users/anish/.ssh/config)
- Copy Public Key to Clipboard:
pbcopy < ~/.ssh/id_ed25519.pub
- Test GitHub SSH Authentication:
ssh -T git@github.com
- Re-add Key to macOS Keychain (if ever needed):
ssh-add --apple-use-keychain ~/.ssh/id_ed25519
/Volumes/Backup/Antony/HighSchool/Grade9/Math/AP Precalculus/
βββ README.md # Complete course and setup documentation
βββ AP_Precalculus_Direct_MP4_Streams.html # Mirror copy of the stream portal HTML
βββ Unit 1 - Unit Circle/
β βββ Unit_01_all-Lesson_Videos.md # 12 videos with direct MP4 streams & curl commands
β βββ Unit_01_Complete_Reference.md # Textbook links, Worksheets A-D, solution keys
β βββ unit_01_metadata.json # Raw parsed Canvas data
βββ Unit 2 - Graphing Trigonometric Functions/
β βββ Unit_02_all-Lesson_Videos.md # 12 direct MP4 streams for current & older AP lessons
β βββ Unit_02_Complete_Reference.md # Worksheets A-F, class graphs, test reviews
β βββ unit_02_metadata.json # Raw parsed Canvas data
βββ Unit 3 - Inverse & Composite Trigonometric Functions/
βββ Unit_03_all-Lesson_Videos.md # Direct MP4 streams for 13 lessons & examples
βββ Unit_03_Complete_Reference.md # Worksheets A-E, oblique triangles, test reviews
βββ unit_03_metadata.json # Raw parsed Canvas data for 15 pages
βββ worksheets/ # 16 offline local PDF worksheets & answer keys
βββ APPCU03_WkstA_EvalInvFxns.pdf
βββ APPCU03_WkstA_EvalInvFxns_Answers.pdf
βββ APPCU03_WkstB_EvalArcTrig.pdf
βββ APPCU03_WkstB_EvalArcTrig_Answers.pdf
βββ APPCU03_WkstB_AppsObliqueTriangles.pdf
βββ APPCU03_WkstB_AppsObliqueTriangles_Answers.pdf
βββ APPCU03_WkstC_Applications.pdf
βββ APPCU03_WkstC_Applications_Answers.pdf
βββ APPCU03_WkstC_ExtraPracSSA.pdf
βββ APPCU03_WkstC_ExtraPracSSA_Answers.pdf
βββ APPCU03_WkstD_MorePracticeApps.pdf
βββ APPCU03_WkstD_MorePracticeApps_Answers.pdf
βββ APPCU03_WkstD_UnitReview.pdf
βββ APPCU03_WkstD_UnitReview_Answers.pdf
βββ APPCU03_WkstE_Review.pdf
βββ APPCU03_WkstE_Review_Answers.pdf
Hosted public repository layout:
/Users/anish/ap-precalc-streams/
βββ index.html # Live portal with nav bar, videos & worksheets
βββ docs/ # Public PDF hosting (bypasses Microsoft / SharePoint login)
βββ APPCU03_WkstA_EvalInvFxns.pdf
βββ APPCU03_WkstA_EvalInvFxns_Answers.pdf
βββ ... (16 Unit 3 PDFs)
- Video Archive:
Unit_01_all-Lesson_Videos.md(12 Videos)- Standard Position, Radians, Coterminal Angles, Comp/Supp, Unit Circle, Angular/Linear Speed, Quadrant System, Reference Angles.
- Reference & Worksheets:
Unit_01_Complete_Reference.md- Official Trig Identities Sheet, Blank Unit Circle, Worksheets AβD & Full Answer Keys.
- Video Archive:
Unit_02_all-Lesson_Videos.md(12 Videos)- Khan Academy Sine graphs, ScreenPal lessons 1β5 & 10, Older versions (2.1aβd), Secant/Cosecant, Writing Equations from Graphs.
- Reference & Worksheets:
Unit_02_Complete_Reference.md- Worksheets AβF (Sine/Cosine, Secant/Cosecant, Tangent/Cotangent, Writing Equations from Graphs, Test Review, Harmonic Applications).
- Video Archive:
Unit_03_all-Lesson_Videos.md(13 Videos)- Lesson 1: Review of Inverses & Rational Zero Test (Synthetic Division)
- Lesson 2: Evaluating Arctrig Functions
- Lesson 3: Composite Trig Expressions, Numeric Only & Variable Ratios
- Lesson 4: Pythagorean & Reciprocal Identities, SAS & Heron's Triangle Area
- Lesson 5: Oblique Triangles and Law of Cosines
- Lesson 6: Law of Sines
- Lesson 7: Ambiguous Case of Law of Sines & Worked 2-Triangle Example (Mr. O'Connor notation)
- Reference & Worksheets:
Unit_03_Complete_Reference.md- All 16 PDFs saved locally in
worksheets/and hosted live indocs/on GitHub Pages.
- All 16 PDFs saved locally in
Using the student's Canvas session cookie, we scraped https://forsyth.instructure.com/courses/276219 with sleep 5 to avoid bot detection. We parsed the weekly plan (AP Precalc 26/27 Week 7) and discovered Unit 3 was newly active.
We pulled all module items via:
curl -s "https://forsyth.instructure.com/api/v1/courses/276219/modules?include[]=items&per_page=50" \
-H "accept: application/json" -b "canvas_session=..."This returned the exact page slugs for all 7 video lessons and 8 worksheet pages.
A Python script fetched each of the 15 pages with time.sleep(5) intervals and exported unit_03_metadata.json.
- MyVRSpot Videos: Queried the embed player iframe (
https://live.myvrspot.com/iframe?v=<ID>) which returned direct, high-res signed CloudFront MP4 stream URLs (https://d1drabmetuo3qr.cloudfront.net/...mp4). - ScreenPal Videos: Extracted the direct player stream endpoint (
https://go.screenpal.com/player/stream/<ID>), usable withcurl -L -H "Referer: ..."or downloadable in-browser. - Canvas Studio: Extracted the Studio embed player URLs.
- School SharePoint links (
forsythk12org.sharepoint.com/:b:/s/SFHMath/...) require Microsoft 365 student login and return HTTP 403 / redirect to Azure AD if accessed by external visitors. - The Solution: We downloaded all 16 PDFs using the authenticated browser session into a temporary staging folder (
/Volumes/Backup/scrap/x/). - Copied all 16 PDFs to:
/Volumes/Backup/.../Unit 3 - .../worksheets/(permanent local backup)/Users/anish/ap-precalc-streams/docs/(public web hosting)
- Configured
index.htmlbuttons to link to./docs/<filename>.pdf. GitHub Pages serves these as native static files with zero authentication required!
- Added a sticky navigation bar at the top with jump links (
#unit-1,#unit-2,#unit-3, and#unit-3-review). - Added
html { scroll-behavior: smooth; }and a JavaScript pulse animation that highlights the selected unit card with a glowing blue border. - Committed and pushed to
mainbranch:cd ~/ap-precalc-streams git add index.html docs/ git commit -m "Publish Unit 3 worksheets and answer key PDFs (auth-free public access)" git push
Whenever a new unit is posted on Canvas, follow this standard 4-step workflow:
- Open Chrome DevTools (
Cmd + Option + I) on Canvas -> Network tab. - Refresh
https://forsyth.instructure.com/courses/276219. - Right click the document request -> Copy as cURL.
- In chat prompt, say:
"Extract Unit X with 5s delay and update the hosted website"
The assistant will:
- Fetch
https://forsyth.instructure.com/api/v1/courses/276219/modules. - Extract all Lesson pages and Worksheet pages for Unit X with 5-second delays.
- Resolve all MyVRSpot iframes to CloudFront MP4 URLs and ScreenPal stream endpoints.
- Create the folder:
/Volumes/Backup/Antony/HighSchool/Grade9/Math/AP Precalculus/Unit X - <Title>/containingunit_0X_metadata.json,Unit_0X_all-Lesson_Videos.md, andUnit_0X_Complete_Reference.md.
To make worksheets public without school login:
- Open the SharePoint links for Unit X in your browser (since you are logged into Microsoft 365).
- Download the worksheet PDFs and answer keys (either via browser Save As or into a staging folder like
~/Downloadsor/Volumes/Backup/scrap/x/). - Tell the assistant:
"Downloaded Unit X worksheets to . Copy to right folder and publish"
- The assistant will copy them to
docs/andworksheets/, update the portal buttons to point to the local./docs/...files, and updateUnit_0X_Complete_Reference.md.
The assistant will commit and push the updates:
cd ~/ap-precalc-streams
git add index.html docs/
git commit -m "Add Unit X lessons, video streams, and auth-free worksheets"
git pushThe website at https://megaantony.github.io/ap-precalc-streams/ will update automatically in ~30 seconds.
GitHub Pages sends Cache-Control: max-age=600 (10-minute cache). When viewing a newly published unit, either:
- Press
Cmd + Shift + Rin your browser. - Or add a query parameter to the URL (e.g.
https://megaantony.github.io/ap-precalc-streams/?v=4#unit-4).