Max's (DS918) Start Page 4 Brave USB + Streaming (2025)

Google "Clean" Search: GoogleUK_Clean Fav Brave Extensions: Chrome Store: Extensions-URL SearXNG "Clean" Search: TS-vpn: SearXNG
00. DS918 Direct or Via TS-vpn
DS918 Direct URL Links
All URLs here for my Web Server are DIRECT links! NOT via Tailscale
All these DS918 Direct URLs are for my NEW Router (2026)


DS918: Start Page 4 Brave
TS-vpn URL Links
All these links ARE via Tailscale!
All Tailscale URLs ARE Encrypted! (secured with end-to-end encryption)
But web browsers cannot see the Tailscale encryption,
so the URL is labelled "Not Secure"
At this time I don't know how to get a TLS encryption certificate for my Tailscale URLs
Other than... My DS918 Login Page.


TS-vpn: Start Page 4 Brave
My Self-Hosted Services+ Managers
Self-Hosted Services v2.0 (Beelink 32GB XuBuntu Server)
1. Fav Streaming Websites
2. Brave: Home Buy Start-Page
3. Brave: 4 Kodi Addons & Updates
Kodi Subs & Payments
Icon PayPal: Business Acc
From My: Taxi Acc. 01

Smart-Tube APK
Icon APK Releases @GitHub
My APK Version:
= armeabi-v7a.apk

Icon Kodi Addon Charts
4. Path Operations
                
                    # Joining paths
                    p = Path("/home/max") / "docs" / "report.pdf"

                    # Replace filename or extension
                    p.with_name("new_file.txt")
                    p.with_suffix(".md")
                
            
5. File / Directory Checks
            
                p.exists()     # True/False
                p.is_file()    # True if file
                p.is_dir()     # True if directory
                p.is_symlink() # True if symlink
            
        
6. File System Operations
            
                # Read / write text
                p.write_text("Hello World")
                content = p.read_text()

                # Read / write bytes
                p.write_bytes(b"binary data")
                data = p.read_bytes()

                # Make directories
                Path("new/folder").mkdir(parents=True, exist_ok=True)

                # Remove file
                p.unlink()

                # Rename / move
                p.rename("new_name.txt")
                p.replace("some/other/location.txt")
            
        
7. Glob Patterns
            
                # Match all .txt files
                for file in Path("docs").glob("*.txt"):
                    print(file)

                # Recursive glob
                for file in Path("docs").rglob("*.txt"):
                    print(file)
            
        
8. Resolve & Absolute Paths
            
                p = Path("docs/../report.pdf")
            p.resolve()  # Absolute normalized path
            
        
9. (Important!!).... ** Path.iterdir() ** [Listing directories]

PathLib: Listing directories Tutorial:
Real Python.com: How to Get a List of All Files in a Directory With Python

My PathLib Cheatsheet - .iterdir() Deeper Tutorial
Web Doc - Page-02
Real Python.com: Python Cheatsheet
PDF Cheatsheet - Page-03

The iterdir() method allows you to iterate over all the files and subdirectories in a folder.
It is particularly useful for processing all files in a directory or performing operations on each entry.
Since iterdir() returns an iterator,
entries are retrieved on-demand as you go through the loop.

            
                # My Default way for Python to find the current App folder 
                APP_DIR:Path[str] = Path(__file__).resolve().parent

                p = Path("docs") 
# Basic Iteration & Print Results for item in p.iterdir(): print(item) # Filter files only for f in Path(".").iterdir(): if f.is_file(): print(f) # Filter directories only for d in Path(".").iterdir(): if d.is_dir(): print(d) # Sorted for entry in sorted(Path(".").iterdir()): print(entry.name) # Filter by extension for f in Path(".").iterdir(): if f.suffix == ".txt": print(f) # List comprehension files = [f.name for f in Path(".").iterdir() if f.is_file()]
10. Quick Comparison
Method Scope Example
iterdir() Direct children only Path(".").iterdir()
glob("*.py") Pattern-matching, 1 level deep Path(".").glob("*.py")
rglob("*.py") Recursive search Path(".").rglob("*.py")
# This tag will be opened by default.
Pathlib Methods - Arguments Explained
Method Arguments Default Explanation
mkdir() mode, parents, exist_ok 0o777, False, False Create a directory. parents=True creates parent directories. exist_ok=True ignores if directory exists.
rmdir() - - Remove empty directory. Raises OSError if not empty.
unlink() missing_ok False Delete a file. missing_ok=True ignores if file missing.
rename() target - Rename or move file. Overwrites not allowed if exists.
replace() target - Rename or move file. Overwrites if target exists.
touch() mode, exist_ok 0o666, True Create empty file. exist_ok=True ignores if file exists.
open() mode, encoding "r", None Open file handle like open().
read_text() encoding, errors None, None Read file as string.
write_text() data, encoding, errors - Write string to file.
glob() pattern - Pattern match files in directory.
rglob() pattern - Recursive pattern match files.
iterdir() - - Iterate over directory entries (direct children only).