Myspace karaoke web proxy

Please add an option to disable endless scroll

2024.05.15 13:40 CygnusTM Please add an option to disable endless scroll

When I use Reddit from where I work, something about the proxied web access causes the endless scroll feature to be erratic and jumpy. At some point, it will just break altogether, forcing a page refresh. Another side affect of this is that some Reddit mechanism sees this erratic behavior and locks my account, forcing a password change. I can get around this by using old.reddit, but parts of that keep breaking, and I assume it will stop working altogether at some point. If I could disable the endless scrolling on the newer redesign, this problem would probably go away.
submitted by CygnusTM to ideasfortheadmins [link] [comments]


2024.05.15 11:14 Character_Ask8343 Nginx Proxy Manager not secured in EKS

Hi everyone,
I'm currently deploying an application on Amazon EKS and using Nginx Proxy Manager to manage my proxy configurations. However, I've encountered an issue where my application is not showing as secured (no HTTPS).
Here's my setup:
I've followed the standard setup procedures, but my application still doesn't show as secured when accessed via the browser.
Can anyone provide guidance on what might be causing this issue or what additional steps I might need to take to ensure my application is secured properly?
Do i need to use custom SSL? If that so, which path need to insert custom SSL? Or what did i miss?
Thanks in advance for your help!
Below are my manifest:
#! Client Ingress --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: nginx-proxy-manager-ingress namespace: dev annotations: nginx.ingress.kubernetes.io/enable-cors: "true" nginx.ingress.kubernetes.io/cors-allow-origin: '*' nginx.ingress.kubernetes.io/ssl-redirect: "true" nginx.ingress.kubernetes.io/force-ssl-redirect: "true" spec: ingressClassName: nginx tls: - hosts: - np-nginx-manager-xxx.com secretName: xxxx rules: - http: paths: - path: / pathType: Prefix backend: service: name: nginx-proxy-manager-service port: number: 81 # - path: / # pathType: Prefix # backend: # service: # name: nginx-proxy-manager-service # port: # number: 80 # Deployment --- apiVersion: apps/v1 kind: Deployment metadata: name: nginx-proxy-manager-deployment labels: name: nginx-proxy-manager-deployment namespace: dev spec: replicas: 1 selector: matchLabels: app: nginx-proxy-manager template: metadata: labels: app: nginx-proxy-manager spec: nodeSelector: Type: default SubnetType: xx RunApp: xx Env: xx containers: - name: nginx-proxy-manager-deployment image: jc21/nginx-proxy-manager:latest imagePullPolicy: Always ports: - containerPort: 80 - containerPort: 81 - containerPort: 443 volumeMounts: - name: letsencrypt mountPath: /etc/letsencrypt - name: data mountPath: /data resources: limits: cpu: 1000m memory: 1Gi requests: cpu: 100m memory: 100Mi volumes: - name: letsencrypt - name: data # Service --- apiVersion: v1 kind: Service metadata: name: nginx-proxy-manager-service labels: name: nginx-proxy-manager-service namespace: dev spec: ports: - name: web-ui port: 81 targetPort: 81 protocol: TCP - name: http-port port: 80 targetPort: 80 protocol: TCP - name: https-port port: 443 targetPort: 443 protocol: TCP selector: app: nginx-proxy-manager 
submitted by Character_Ask8343 to nginxproxymanager [link] [comments]


2024.05.15 10:30 Pigik83 What is a web unblocker and how does it work?

Hey everyone!
I recently dove deep into the fascinating world of web unblockers and thought I'd share some insights that might just change how you see internet restrictions and web scraping. You might already know that web unblockers are like secret passageways that let you sneak past internet censorship or geofencing. Think of them as VPNs on steroids, allowing not just encrypted data transfer for privacy but also unrestricted browsing freedom.
But here's where it gets really interesting, especially for folks in the web scraping arena. Web unblockers serve as these powerful APIs designed to outsmart anti-bot protections. They’re like the ninjas of the internet, using tactics such as IP rotation, browser fingerprinting, CAPTCHA solving, and even Javascript rendering to access the data we need.
Now, you might think a proxy does the job by changing your IP address. But web unblockers? They're the whole package, offering a bunch more than just a disguise. Yet, it's not all smooth sailing. No single web unblocker can claim victory over every anti-bot mechanism out there. Tech giants like Cloudflare are in constant evolution, crafting more complex defenses to keep bots at bay.
This is exactly why I conducted the Great Web Unblocker Benchmark. It's a showdown to see how different web unblockers stack up against the toughest anti-bot solutions in the wild. Sure, there's a price tag attached to these unblockers, but picking the right one isn't just about spending money—it's about investing in seamless data access for our projects.
In the end, the key takeaway is weighing the cost against the potential to maintain an uninterrupted data flow for our customers. Let's keep pushing the envelope and finding the best tools to navigate these challenges together.
Cheers to an open and accessible web for all our scraping needs!
Linkt to the full article: https://substack.thewebscraping.club/p/what-is-a-web-unblocker
submitted by Pigik83 to thewebscrapingclub [link] [comments]


2024.05.15 07:18 accidentalfaecal NIXOS Config - NGINX - Hide html extension rewrite/location

First of all I would like to say thank you to anyone who reads this I am new at NIXOS and web servers in general.
I am serving a static website via Nix and NGINX. I would like to remove the HTML file extension off my uri.
People are saying rewrite rules some are using the location block and that's all well and good but I cannot figure out how to incorporate those into my Nix configuration file. Below is my configuration. Does it go in the append config? Is it some combination I'm not understanding?
Again thank you to anyone that takes the time to read this I'm sure I'm asking either a stupid question or not even using the right words so thank you.
 services.nginx = { enable = true; recommendedGzipSettings = true; recommendedOptimisation = true; recommendedProxySettings = true; recommendedTlsSettings = true; sslCiphers = "AES256+EECDH:AES256+EDH:!aNULL"; appendHttpConfig = '' # Enable CSP for your services. add_header Content-Security-Policy "script-src 'self'; object-src 'none'; base-uri 'none';" always; # Minimize information leaked to other domains add_header 'Referrer-Policy' 'origin-when-cross-origin'; # Disable embedding as a frame add_header X-Frame-Options DENY; # Prevent injection of code in other mime types (XSS Attacks) add_header X-Content-Type-Options nosniff; # This might create errors #proxy_cookie_path / "/; secure; HttpOnly; SameSite=strict" ''; }; security.acme = { acceptTerms = true; defaults.email = "XXXXX@XXXXX"; }; services.nginx.virtualHosts."XXXXXXXXXXXXX.com" = { enableACME = true; forceSSL = true; root = "/vawww/XXXXXXXXXXXXX"; }; users.users.nginx.extraGroups = [ "acme" ]; } 
submitted by accidentalfaecal to NixOS [link] [comments]


2024.05.15 06:50 Express_Bid9824 Proxy and Web APi

Hello everyone, I try to get data via a report API. I did it before but in this case it is not working as I should a proxy to access it. Is there a way to solve this? In the advanced editor?
submitted by Express_Bid9824 to PowerBI [link] [comments]


2024.05.15 05:59 manofoz Trouble making a single endpoint for a cluster's UI with nginx

Hello,
I have a three-node cluster and I'd like to run nginx on a HA LXC and have it load balance the UI endpoints. I was able to expose one node on an https endpoint painlessly via this guide:
Proxy the Proxmox Web GUI with Nginx Over HTTPS with Load Balancing JamesCoyle.net Limited
I then found this guide which made adding the load balancing look easy but when I change the proxy_pass I get a DNS_PROBE_FINISHED_NXDOMAIN error from the browser:
Proxy the Proxmox Web GUI with Nginx Over HTTPS with Load Balancing JamesCoyle.net Limited
Here is my config that throws the DNS_PROBE_FINISHED_NXDOMAIN error:
nginx load balance proxmox ui - Pastebin.com
I did something similar for the ceph dashboards using haproxy but I ran into a lot of trouble with the SSL certs and a missing PVEAuthCookie cookie so I was hopeful after I could route to one node through nginx. Any tips would greatly appreciated.
Thanks!
submitted by manofoz to Proxmox [link] [comments]


2024.05.15 05:54 andy_jay_ CPU encoding not respecting bitrate setting

When comparing the quality difference between cpu and gpu transcoding of an MPEG2 file, I noticed that the CPU transcoded file bitrate is about double of what was set in the flow (2775 vs 1000 kbps). The GPU transcoded version bitrate was also higher at 1223kbps, but i'm not as concerned about that.
How can I get Tdarr to respect the bitrate setting when CPU transcoding?
The CPU Transcode execute command
19 2024-05-15T11:39:55.170Z cMAC9h9l9:Node[MyInternalNode]:Worker[only-orca]:Running tdarr-ffmpeg -y -i /media/hcok/REDDUST/C7_t08_HC.mkv -map 0:0 -c:0 libx265 -crf 15 -preset medium -b:v:0 1000k -map 0:1 -c:1 copy -vf yadif=mode=0:deint=1 /temp/tdarr-workDir-node-BNJK9sVj3-worker-only-orca-ts-1715737180110/1715737192793/C7_t08_HC.mkv 
The GPU Transcode execute command
19 2024-05-15T13:00:24.679Z qaHd_g_8A:Node[MyInternalNode]:Worker[lean-larva]:Running tdarr-ffmpeg -y -hwaccel qsv -i /media/hcok/REDDUST/C7_t08_HC.mkv -map 0:0 -c:0 hevc_qsv -qp 15 -preset medium -b:v:0 1000k -map 0:1 -c:1 copy -vf vpp_qsv=deinterlace=2 /temp/tdarr-workDir-node-BNJK9sVj3-worker-lean-larva-ts-1715742010799/1715742021738/C7_t08_HC.mkv 
Original File
{ "_id": "/media/hcok/REDDUST/C7_t08_HC.mkv", "DB": "hcuXF0Q94", "footprintId": "26HfT209A", "file": "/media/hcok/REDDUST/C7_t08_HC.mkv", "container": "mkv", "scannerReads": { "ffProbeRead": "success", "exiftoolRead": "success", "mediaInfoRead": "success", "closedCaptionRead": "\"Unable to run CCExtractor exit code 10\"" }, "createdAt": 1715742015082, "lastPluginDetails": "none", "bit_rate": 8229429, "statSync": { "dev": 2051, "mode": 33188, "nlink": 1, "uid": 1000, "gid": 1000, "rdev": 0, "blksize": 4096, "ino": 6291487, "size": 185820528, "blocks": 362944, "atimeMs": 1715735883905.5674, "mtimeMs": 1715430376508.0737, "ctimeMs": 1715430377784.082, "birthtimeMs": 1715429587359.3674, "atime": "2024-05-15T01:18:03.906Z", "mtime": "2024-05-11T12:26:16.508Z", "ctime": "2024-05-11T12:26:17.784Z", "birthtime": "2024-05-11T12:13:07.359Z" }, "file_size": 177.21226501464844, "ffProbeData": { "streams": [ { "index": 0, "codec_name": "mpeg2video", "codec_long_name": "MPEG-2 video", "profile": "Main", "codec_type": "video", "codec_tag_string": "[0][0][0][0]", "codec_tag": "0x0000", "width": 720, "height": 576, "coded_width": 0, "coded_height": 0, "closed_captions": 0, "has_b_frames": 1, "sample_aspect_ratio": "16:15", "display_aspect_ratio": "4:3", "pix_fmt": "yuv420p", "level": 8, "color_range": "tv", "color_space": "bt470bg", "color_transfer": "bt470bg", "color_primaries": "bt470bg", "chroma_location": "left", "field_order": "tt", "refs": 1, "r_frame_rate": "25/1", "avg_frame_rate": "25/1", "time_base": "1/1000", "start_pts": 0, "start_time": "0.000000", "bit_rate": "8000000", "disposition": { "default": 0, "dub": 0, "original": 0, "comment": 0, "lyrics": 0, "karaoke": 0, "forced": 0, "hearing_impaired": 0, "visual_impaired": 0, "clean_effects": 0, "attached_pic": 0, "timed_thumbnails": 0, "captions": 0, "descriptions": 0, "metadata": 0, "dependent": 0, "still_image": 0 }, "tags": { "language": "eng", "BPS-eng": "8000000", "DURATION-eng": "00:03:00.640000000", "NUMBER_OF_FRAMES-eng": "4516", "NUMBER_OF_BYTES-eng": "180640000", "_STATISTICS_WRITING_APP-eng": "mkvpropedit v45.0.0 ('Heaven in Pennies') 64-bit", "_STATISTICS_WRITING_DATE_UTC-eng": "2024-05-11 12:26:16", "_STATISTICS_TAGS-eng": "BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES" }, "side_data_list": [ { "side_data_type": "CPB properties", "max_bitrate": 8000000, "min_bitrate": 0, "avg_bitrate": 0, "buffer_size": 1835008, "vbv_delay": -1 } ] }, { "index": 1, "codec_name": "ac3", "codec_long_name": "ATSC A/52A (AC-3)", "codec_type": "audio", "codec_tag_string": "[0][0][0][0]", "codec_tag": "0x0000", "sample_fmt": "fltp", "sample_rate": "48000", "channels": 2, "channel_layout": "stereo", "bits_per_sample": 0, "r_frame_rate": "0/0", "avg_frame_rate": "0/0", "time_base": "1/1000", "start_pts": 0, "start_time": "0.000000", "bit_rate": "224000", "disposition": { "default": 1, "dub": 0, "original": 0, "comment": 0, "lyrics": 0, "karaoke": 0, "forced": 0, "hearing_impaired": 0, "visual_impaired": 0, "clean_effects": 0, "attached_pic": 0, "timed_thumbnails": 0, "captions": 0, "descriptions": 0, "metadata": 0, "dependent": 0, "still_image": 0 }, "tags": { "language": "eng", "title": "Stereo", "BPS-eng": "224000", "DURATION-eng": "00:03:00.640000000", "NUMBER_OF_FRAMES-eng": "5645", "NUMBER_OF_BYTES-eng": "5057920", "_STATISTICS_WRITING_APP-eng": "mkvpropedit v45.0.0 ('Heaven in Pennies') 64-bit", "_STATISTICS_WRITING_DATE_UTC-eng": "2024-05-11 12:26:16", "_STATISTICS_TAGS-eng": "BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES" } } ], "format": { "filename": "/media/hcok/REDDUST/C7_t08_HC.mkv", "nb_streams": 2, "nb_programs": 0, "format_name": "matroska,webm", "format_long_name": "Matroska / WebM", "start_time": "0.000000", "duration": "180.640000", "size": "185820528", "bit_rate": "8229429", "probe_score": 100, "tags": { "encoder": "libmakemkv v1.17.6 (1.3.10/1.5.2) x86_64-linux-gnu", "creation_time": "2024-05-11T12:13:07.000000Z" } } }, "meta": { "SourceFile": "/media/hcok/REDDUST/C7_t08_HC.mkv", "errors": [], "Duration": 180.64, "DefaultDuration": 0.032, "ExifToolVersion": 12.62, "FileName": "C7_t08_HC.mkv", "Directory": "/media/hcok/REDDUST", "FileSize": "186 MB", "FileModifyDate": { "year": 2024, "month": 5, "day": 11, "hour": 12, "minute": 26, "second": 16, "millisecond": 0, "tzoffsetMinutes": 0, "rawValue": "2024:05:11 12:26:16+00:00" }, "FileAccessDate": { "year": 2024, "month": 5, "day": 15, "hour": 1, "minute": 18, "second": 3, "millisecond": 0, "tzoffsetMinutes": 0, "rawValue": "2024:05:15 01:18:03+00:00" }, "FileInodeChangeDate": { "year": 2024, "month": 5, "day": 11, "hour": 12, "minute": 26, "second": 17, "millisecond": 0, "tzoffsetMinutes": 0, "rawValue": "2024:05:11 12:26:17+00:00" }, "FilePermissions": "-rw-r--r--", "FileType": "MKV", "FileTypeExtension": "mkv", "MIMEType": "video/x-matroska", "EBMLVersion": 1, "EBMLReadVersion": 1, "DocType": "matroska", "DocTypeVersion": 2, "DocTypeReadVersion": 2, "TimecodeScale": "1 ms", "MuxingApp": "libmakemkv v1.17.6 (1.3.10/1.5.2) x86_64-linux-gnu", "WritingApp": "MakeMKV v1.17.6 linux(x64-release)", "DateTimeOriginal": { "year": 2024, "month": 5, "day": 11, "hour": 12, "minute": 13, "second": 7, "millisecond": 0, "tzoffsetMinutes": 0, "rawValue": "2024:05:11 12:13:07Z" }, "VideoCodecID": "V_MPEG2", "VideoFrameRate": 25, "ImageWidth": 720, "ImageHeight": 576, "DisplayWidth": 768, "DisplayHeight": 576, "TrackNumber": 2, "TrackUID": "02", "TrackType": "Audio", "TrackDefault": "Yes", "AudioCodecID": "A_AC3", "TrackLanguage": "eng", "TrackName": "Stereo", "AudioSampleRate": 48000, "AudioChannels": 2, "ChapterTimeStart": "0:03:00", "ChapterTimeEnd": "0:03:01", "ChapterString": "Chapter 02", "ChapterLanguage": "eng", "ImageSize": "720x576", "Megapixels": 0.415 }, "mediaInfo": { "@ref": "", "track": [ { "@type": "General", "UniqueID": "226911464312207986536836350821405403909", "VideoCount": "1", "AudioCount": "1", "MenuCount": "1", "Format": "Matroska", "Format_Version": "2", "FileSize": "185820528", "Duration": "180.640", "OverallBitRate_Mode": "CBR", "OverallBitRate": "8229430", "FrameRate": "25.000", "FrameCount": "4516", "StreamSize": "122608", "IsStreamable": "Yes", "Encoded_Date": "2024-05-11 12:13:07 UTC", "Encoded_Application": "MakeMKV v1.17.6 linux(x64-release)", "Encoded_Library": "libmakemkv v1.17.6 (1.3.10/1.5.2) x86_64-linux-gnu" }, { "@type": "Video", "StreamOrder": "0", "ID": "1", "UniqueID": "1", "Format": "MPEG Video", "Format_Version": "2", "Format_Profile": "Main", "Format_Level": "Main", "Format_Settings_BVOP": "Yes", "Format_Settings_Matrix": "Default", "Format_Settings_GOP": "M=3, N=13", "Format_Settings_PictureStructure": "Frame", "CodecID": "V_MPEG2", "Duration": "180.640000000", "BitRate_Mode": "CBR", "BitRate": "8000000", "Width": "720", "Height": "576", "Sampled_Width": "720", "Sampled_Height": "576", "PixelAspectRatio": "1.067", "DisplayAspectRatio": "1.333", "FrameRate_Mode": "CFR", "FrameRate": "25.000", "FrameRate_Num": "25", "FrameRate_Den": "1", "FrameCount": "4516", "Standard": "PAL", "ColorSpace": "YUV", "ChromaSubsampling": "4:2:0", "BitDepth": "8", "ScanType": "Interlaced", "ScanOrder": "TFF", "Compression_Mode": "Lossy", "Delay": "0.000", "Delay_Source": "Container", "Delay_Original": "3975.360", "Delay_Original_DropFrame": "No", "Delay_Original_Source": "Stream", "TimeCode_FirstFrame": "01:06:15:09", "TimeCode_Source": "Group of pictures header", "Gop_OpenClosed": "Open", "StreamSize": "180640000", "Language": "en", "Default": "No", "Forced": "No", "BufferSize": "229376", "colour_description_present": "Yes", "colour_description_present_Source": "Stream", "colour_primaries": "BT.601 PAL", "colour_primaries_Source": "Stream", "transfer_characteristics": "BT.470 System B/G", "transfer_characteristics_Source": "Stream", "matrix_coefficients": "BT.470 System B/G", "matrix_coefficients_Source": "Stream", "extra": { "intra_dc_precision": "10" } }, { "@type": "Audio", "StreamOrder": "1", "ID": "2", "UniqueID": "2", "Format": "AC-3", "Format_Commercial_IfAny": "Dolby Digital", "Format_Settings_Endianness": "Big", "CodecID": "A_AC3", "Duration": "180.640000000", "BitRate_Mode": "CBR", "BitRate": "224000", "Channels": "2", "ChannelPositions": "Front: L R", "ChannelLayout": "L R", "SamplesPerFrame": "1536", "SamplingRate": "48000", "SamplingCount": "8670720", "FrameRate": "31.250", "FrameCount": "5645", "Compression_Mode": "Lossy", "Delay": "0.000", "Delay_Source": "Container", "Video_Delay": "0.000", "StreamSize": "5057920", "Title": "Stereo", "Language": "en", "ServiceKind": "CM", "Default": "Yes", "Forced": "No", "extra": { "bsid": "8", "dialnorm": "-27", "compr": "3.88", "dynrng": "4.05", "dsurmod": "0", "acmod": "2", "lfeon": "0", "dialnorm_Average": "-27", "dialnorm_Minimum": "-27", "compr_Average": "-1.40", "compr_Minimum": "-4.53", "compr_Maximum": "5.16", "compr_Count": "543", "dynrng_Average": "-1.21", "dynrng_Minimum": "-4.53", "dynrng_Maximum": "5.16", "dynrng_Count": "569" } }, { "@type": "Menu", "extra": { "_00_00_00_000": "en:Chapter 01", "_00_02_59_920": "en:Chapter 02" } } ] }, "hasClosedCaptions": false, "bumped": false, "HealthCheck": "", "TranscodeDecisionMaker": "", "holdUntil": 0, "fileMedium": "video", "video_codec_name": "mpeg2video", "audio_codec_name": "", "video_resolution": "576p", "lastHealthCheckDate": 0, "lastTranscodeDate": 0, "history": "", "oldSize": 0, "newSize": 0, "newVsOldRatio": 0, "videoStreamIndex": 0, "duration": 180 } 
CPU Transcoded file
{ "_id": "/temp/tdarr-workDir-node-BNJK9sVj3-worker-only-orca-ts-1715737180110/1715737192793/C7_t08_HC_TC.mkv", "file": "/temp/tdarr-workDir-node-BNJK9sVj3-worker-only-orca-ts-1715737180110/1715737192793/C7_t08_HC_TC.mkv", "scannerReads": { "mediaInfoRead": "not enabled", "closedCaptionRead": "not enabled" }, "createdAt": 1715738511612, "bit_rate": 2775163, "statSync": { "mode": 33204, "ino": 6291499, "size": 62663202, "blocks": 122400, "atimeMs": 1715738510994.6726, "mtimeMs": 1715738510206.6672, "ctimeMs": 1715738510902.6719, "birthtimeMs": 1715737192872.2979, "atime": "2024-05-15T02:01:50.995Z", "mtime": "2024-05-15T02:01:50.207Z", "ctime": "2024-05-15T02:01:50.903Z", "birthtime": "2024-05-15T01:39:52.872Z" }, "file_size": 59.76028633117676, "ffProbeData": { "streams": { "0": { "codec_name": "hevc", "codec_long_name": "H.265 / HEVC (High Efficiency Video Coding)", "coded_width": 720, "coded_height": 576, "has_b_frames": 2, "level": 90, "field_order": "progressive", "tags": { "BPS-eng": "2547656", "NUMBER_OF_BYTES-eng": "57526085", "_STATISTICS_WRITING_DATE_UTC-eng": "2024-05-15 02:01:50" } }, "1": { "tags": { "BPS-eng": "224039", "DURATION-eng": "00:03:00.608000000", "_STATISTICS_WRITING_DATE_UTC-eng": "2024-05-15 02:01:50" } } }, "format": { "filename": "/temp/tdarr-workDir-node-BNJK9sVj3-worker-only-orca-ts-1715737180110/1715737192793/C7_t08_HC_TC.mkv", "size": "62663202", "bit_rate": "2775163" } }, "meta": { "SourceFile": "/temp/tdarr-workDir-node-BNJK9sVj3-worker-only-orca-ts-1715737180110/1715737192793/C7_t08_HC_TC.mkv", "FileName": "C7_t08_HC_TC.mkv", "Directory": "/temp/tdarr-workDir-node-BNJK9sVj3-worker-only-orca-ts-1715737180110/1715737192793", "FileSize": "63 MB", "FileModifyDate": { "day": 15, "hour": 2, "minute": 1, "second": 50, "rawValue": "2024:05:15 02:01:50+00:00" }, "FileAccessDate": { "hour": 2, "minute": 1, "second": 50, "rawValue": "2024:05:15 02:01:50+00:00" }, "FileInodeChangeDate": { "day": 15, "hour": 2, "minute": 1, "second": 50, "rawValue": "2024:05:15 02:01:50+00:00" }, "FilePermissions": "-rw-rw-r--", "DocTypeVersion": 4, "MuxingApp": "Lavf60.3.100", "WritingApp": "Lavf60.3.100", "TrackDefault": "No", "DisplayWidth": 4, "DisplayHeight": 3, "TrackUID": "28df5ead23c4e39d", "ChapterLanguage": "und" }, "mediaInfo": {}, "video_codec_name": "hevc" } 
GPU transcoded file
{ "_id": "/temp/tdarr-workDir-node-BNJK9sVj3-worker-lean-larva-ts-1715742010799/1715742021738/C7_t08_HC_TC.mkv", "file": "/temp/tdarr-workDir-node-BNJK9sVj3-worker-lean-larva-ts-1715742010799/1715742021738/C7_t08_HC_TC.mkv", "scannerReads": { "mediaInfoRead": "not enabled", "closedCaptionRead": "not enabled" }, "createdAt": 1715742100324, "bit_rate": 1223391, "statSync": { "mode": 33204, "ino": 6291499, "size": 27624183, "blocks": 53960, "atimeMs": 1715742099889.4912, "mtimeMs": 1715742099209.4878, "ctimeMs": 1715742099745.4905, "birthtimeMs": 1715742022193.1104, "atime": "2024-05-15T03:01:39.889Z", "mtime": "2024-05-15T03:01:39.209Z", "ctime": "2024-05-15T03:01:39.745Z", "birthtime": "2024-05-15T03:00:22.193Z" }, "file_size": 26.344473838806152, "ffProbeData": { "streams": { "0": { "codec_name": "hevc", "codec_long_name": "H.265 / HEVC (High Efficiency Video Coding)", "coded_width": 720, "coded_height": 576, "has_b_frames": 3, "level": 90, "field_order": "progressive", "tags": { "BPS-eng": "996062", "NUMBER_OF_BYTES-eng": "22491083", "_STATISTICS_WRITING_DATE_UTC-eng": "2024-05-15 03:01:39" } }, "1": { "tags": { "BPS-eng": "224039", "DURATION-eng": "00:03:00.608000000", "_STATISTICS_WRITING_DATE_UTC-eng": "2024-05-15 03:01:39" } } }, "format": { "filename": "/temp/tdarr-workDir-node-BNJK9sVj3-worker-lean-larva-ts-1715742010799/1715742021738/C7_t08_HC_TC.mkv", "size": "27624183", "bit_rate": "1223391" } }, "meta": { "SourceFile": "/temp/tdarr-workDir-node-BNJK9sVj3-worker-lean-larva-ts-1715742010799/1715742021738/C7_t08_HC_TC.mkv", "FileName": "C7_t08_HC_TC.mkv", "Directory": "/temp/tdarr-workDir-node-BNJK9sVj3-worker-lean-larva-ts-1715742010799/1715742021738", "FileSize": "28 MB", "FileModifyDate": { "day": 15, "hour": 3, "minute": 1, "second": 39, "rawValue": "2024:05:15 03:01:39+00:00" }, "FileAccessDate": { "hour": 3, "minute": 1, "second": 39, "rawValue": "2024:05:15 03:01:39+00:00" }, "FileInodeChangeDate": { "day": 15, "hour": 3, "minute": 1, "second": 39, "rawValue": "2024:05:15 03:01:39+00:00" }, "FilePermissions": "-rw-rw-r--", "DocTypeVersion": 4, "MuxingApp": "Lavf60.3.100", "WritingApp": "Lavf60.3.100", "TrackDefault": "No", "DisplayWidth": 4, "DisplayHeight": 3, "TrackUID": "64e3ca39f6741dac", "ChapterLanguage": "und" }, "mediaInfo": {}, "video_codec_name": "hevc" } 
submitted by andy_jay_ to Tdarr [link] [comments]


2024.05.15 04:29 EccentricSage81 usb4 type C worse than cheap usb ethernet lan landline1900s phones? (rj11/45/cat8e whatevs)

Ethernet has landline 1900s phones two pairs wires reserved in the spec sheet its 8 or so wires when crimping the ends uses like two with one for ground and one seemingly empty and then has two for phone and some unused, with old 10/100 baseT coax with terminating ends exactly like optical or coax 90s cable TV with optical fiber 99% of the way just your block has coax to the rest which uses the 'same'DOCSIS data over cable standards as fibre optic.. just slightly worse latency and bandwidth is calculated by latency things like wifi lan has like 11 channels or 15 channels of frequency which optical calls wavelengths of light. A 2015 or around there linus tech tips video of him going to a swedish lan party called dreamhack had a bunch of multiple redundant 8Terabit or was it bytes of fibre optic internet they explained with light having 7 colors but having 8terabytes of bandwidth with different wavelengths of light called frequencys or a better term for optics is known as LASER ARRAYS of light at fixed frequencys that often plugs into the PC via ethernet cables or whatever for a gamer lan party or home/residential or small businesses at realistically within budget of anything with enough users to require that bandwidth or 'web hosting or web servers' you dont need to be an undersea cable or international link with 200terabits plus for an internet exchange to your main CBD or the fastest like the netherlands IX...
So the problem im trying to solve is, here in australia we got our undersea cables done wrong they kept breaking and we didnt have a navy or defense force securing our countrys communications to prevent war crimes and keep us connected to the global banking systems or whatever.. and then when our biggest telcos cable or fibre all had dialup speeds for around 2 weeks in the early years 2000s to force us to pay other countrys to connect to their links and be ' end of the line' maybe paywalled or proxied off the internet randsomewared to connect to and borrow bandwidth from other countries satellites and other countries undersea link cables which truly were indestructible to any cruise liner ships anchors whatever being flexible giant steel braided cables big as a CAR when australia finally paid to lay small sections of that stuff to link up to others and not pay randsome to internet butt bandits or have private businesses and multi nationals run their own links and ignore the public our lack of a defense force actually let somalian pirates literally somehow pick up and walk off with our expensive undersea car sized cables filled with a few arms thick of hair thin fibre optics which is cheapest clear resin enamels plastics about $3 not sure if USD per kilometer and resembles modern glass/glazing. How does anybody steal that stuff without people noticing like you cant just load it onto a truck and drive away? or a boat? if only satellites and some sort of defense organization existed to prevent us from being impersonated or whatever.. So now in australia ANYTHING with words like gigabit costs a fortune for a mainboard or switch or ethernet hub.. but the ancient 1900s 10/100 telephone land line wires of ethernet 10/100 clock in at a whopping 13 or so mhz sometimes 27.. and 60 or more mhz for like gigabits and whatever it increases shockingly fast with each mhz clock cycle as its units of work over time in nano seconds or zeptoseconds you see billionths of a second nano second RAM and PC with windows realtime kernel actually uses like ryzen hardware negative latency faster than reality freely syncing with any device in the universe and fixed mhz frequency bus can drive like 50 to 100 or thousands of GPU's and HDDs and monitors or whatever from the one modern multicore PC or whatever.. 90s AMD business server still holds world records for most connected devices though it had stackable CPUs opteron and would have used infinity cache type stuff probably software 3dnow and evolving game worlds tech of 80s and 90s AMD gaming evolved advertising.
So in australia anything gigabits costs hundreds of dollars for a switch router some thousands for lots of ports.. but its the shittiest weakest bandwidth ever with mhz and performance miles short of a raspberry pie or whatever. I had to pay a fortune for a mainboard with 10gigabit LAN port and everytime i got a high speed LAN port its been broken or missing so some pricks can sell ebay routers or switches for thousands here.. not knowing why its so expensive is youre paying fortunes for any real bandwidth because australia has to pay literal somalian pirates for their internet connections or privately owned businesses like telstra for access to their private links and glares at countries like new zealand and hawaii for being super technologically superior.. a cheap USB ethernet adaptor costs under 10 bucks on ebay or whatever and is maybe gigabit and your switches and routers 90% of the time you want the cheapest UNMANAGED switch possible. Yet the mainboard i recently purchased ASUS pro art creator x670E i recall had an issue with some asshats trying to steal pathetic measly 40gigabit USB4 chips from all the boards at the computer store to sell on EBay as other junk, when anything in the universe with an M.2 ULTRA slot does 40gigabits since PCI express 3.0/4.0 as PCI express 3.0 SSD drives famously use a specific I/O controller chip which gives them 38gigabits of the ultra M.2 slots 40gigabits of bandwidth. But for a couple years when AMD had pci express 4.0 and better than M.2 ultra intel was playing catch up on PCI express 3.0 and still had regular m.2 in all their boards until AMD was ready for pci express 5.0 my friend on intel bought the same NVME drives and complained they had corruption errors or issues i later learned his board wasnt fast enough and he was maybe trying to use the samsung magician RAM disk and enable NVME features and functions intel maybe did not yet support.
So.. why is USB 4 so many years late and why is it so dang expensive when terabits of ethernet or anything optical is like the cheapest stuff ever and comes with every internet connection since the 90s at the lowest cheapest mhz and 1900s land line wire telephones ever, remember digital isnt a physical thing and everythings literally analog with a sensor or multimeter whatever mathematically translating it to a graph or algebra equation mapping it into different values digitally +10 -10 whatever using microphones or camera sensor whatever. the gigabits tax and uhh LAN port taxes for dumb gay australians being literally see it via satellite outerspace levels dumb and gay astrogaylian should not apply to the cheapest of raspberry pie free 3d print or laser CNC yourself something computery like risc V for the cheapest of USB flash drives or memory cards etc.
I get intel pretends to have invented court ordered USB to probe their hardware after it was proven to have used other peoples code and chips by the chip makers and them selling computers with keyboard and mouse hardwired in so you bought a whole new computer when a key broke on the keyboard couldnt replace them.. and every other device had USB but theirs didnt free open standard and it kinda being the only way to connect any device in the universe and freely sync with it (mics/phones whatever).
why is 1900s phone tech ethernet so dang expensive to go from 20mhz ranges to 80 or whatever mhz ranges or use something very similar to 90s optical audio SPDIF output or anything remotely like a laser in australia? and who would be dumb and gay enough to be so financially retarded as to think that USB 4 was expensive or special as to steal it? am i... missing something?
also before you complain, but ethernets not the same as USB you cant power over ethernet or use your houses electrical wires as ethernet. You also cant use ethernet for monitors or displays, and its not like you can extend HDMI range limit of a about 10 to 15 meters by swapping its ethernet wires with optical ones for it to maintain its HDMI 0 latency spec or type C USB 0 latency spec. USB lets you connect heaps of devices you cant do that with an internet or ethernet for things like keyboard and mice or monitors or whatever. I understand what you mean power over ethernet or PPOE standards suck theres no way those are a thing. using devices over the internet and not the intranet who does that? thats so dumb. remote administration, theres no such thing youre mistaking malware or rootkits im sure. you cant connect a heap of devices up or entire computers to a ethernet port thats the dumbest gayest thing i've ever heard in my entire life! My gaydar is going off and it looks like the wifi symbol.
when trying to use anything ethernet with lame awful bandwidth thats limited, on my AMD board where the website images show AMD ethernet lists as marvel yukon controller i cannot use as its maybe broken there no light on the back, in devices managers advanced tab you can see the send receive or transmit buffer sizes and countless other ethernet settings are MISSING or a blank space. and are limited to 128 on send and 256 on receive up to 4096 or whatever max. But low latency 128 or 256 is maybe best but not all are an option and most networking features on the intel LAN adapters are missing countless advanced ethernet properties and settings because they're fake and lousy and the worst latency ever and they literally seem to swap your windows kernel out with something not realtime so you cannot ever hope to record or playback audio or video or anything close to a video game in hopes of slowly selling it back to you. Linux distros did this too its the dumbest thing ever that to hear or record or playback or play games you must patch in a realtime kernel for free to game like its the 80s and 90s or DOS or whatever. most 90s PCs were CAS 1 or lower nanoseconds. DDR 3 1600mhz depending the maker might be CAS1-4 latency. How can we verify our kernels are correct? and our ethernet and I/O bandwidth is correct? the youtube video about linus tech tips dream hack lan party of gamers in sweden was edited and reuploaded by illiterate asshat buttpirates maybe from somalia or the ones randsoming us some of their internet connections as a proxy piggy back on the international links as we dont have a defense force or army or whatever and dont know what war crimes are or why they are or what the heck a bank is and sure as shit dont know the cost of anything cheap USB or LAN. The dreamhack linus video falsely shows as 6TERABIT. they wanna steal 2TERABITS of EVERY optical or ethernet devices which isnt the government doing it if they wanna see whats in your computer they can document their reasons of why which is what a warrant is they dont need one if they believe a crime is occuring and literally take the computer by law to inspect it then give it back when nothings wrong they leave you a claim ticket and have you document it at the nearest policing station or whatever fill out forms sign 'they are taking my PC and i can get it back when it wasnt used for crimes." when australia doesnt technically have an internet and doesnt technically have RAID arrays which is required to use USB or SSD or NVME or storage tech with no moving parts and multicore a 2TB SSD is twice as fast and often has 2x 1TB wafer chips in there figure it out the IO controller chip supports many and you can buy the cheapest USB sticks with like 16terabytes of storage space i just see a $extend folder or uhh file format header thingy in the partition in my mainboard bios on that particular drive and using any cheap SSD or USB devices makes linux cry about the partition managers cant write or read extending past the storage limit. it doesnt take a genius to figure out what dumb gay fags the whole internet is.
infinitybitdepthinfinitygraphicsinfinitypixelsinfinityresolution.7z ~ pixeldrain
submitted by EccentricSage81 to Troubleshooting [link] [comments]


2024.05.15 02:15 the_dobe Best way to stream IP camera to website without exposing RTSP to entire internet?

A new client of mine wants to stream an IP cameras feed to their website. I’ve looked at other IPP camera streaming webs webs webs websites, but they require that you open the RTSP port to the entire Internet. I don’t like opening ports to the whole world unless absolutely necessary and well secured. We would need to be able to embed the feed onto the existing website. We aren’t looking to process or re-broadcast directly on the web server. So this needs to be embeddable. Can anyone recommend an IP camera streaming service that will allow me to open a port just to their IP addresses? I’m also open to using an open source solution that will proxy the RTSP stream on a cloud server. Thanks
submitted by the_dobe to msp [link] [comments]


2024.05.15 01:12 Evening-Parsley2112 Narc mother asks for help with monster brother after 8 years of NC

So this is a long one. Like, I'm going back over it and damn. This is longer than I thought it would be. Throwaway account, I've only made one other post to this relating to what's going on. Instead of updating the other post, I figured I'd make a separate one about the whole shit show I experienced, and the shit circus I uncovered and avoided. I'll try to keep this in as chronological an order as I can.
As the title says, my abusive/narc mom and pos/delusional/golden child brother started trying to reach out to me a few months ago wanting to make amends and build bridges with me again. There were a few people that commented on my previous post in another subreddit that may be a little disappointed in me for how I handled this, and a few that might enjoy that I handled it the way I did. Someone commented to not let them use my good nature. My nature is dependent on who I'm dealing with, and when it comes to that side of my family, I'm more stick than carrot. So their attempts did not go ignored, and did not go unpunished.
Growing up, I was always closer with my Dad than my mom. My brother was the epitome of "pampered mamma's boy". He started having seizures as a child and was diagnosed with epilepsy, which I thought was why my mom babied the absolute fuck out of him long into adulthood. He would go a year or 2 without any seizures, and then there would be a few months where he'd be having them every other day. At Anytime he got in trouble at home or school, my mom would find a way to blame me, for not making sure he knew whatever he was doing would get him in trouble, or she would blame my dad for not being "involved enough in their baby's life." My dad was in the Navy and I remember any time he'd deploy, I'd dread every day until he came back. My brother would taunt me that he knew whatever he did, I'd be the one to get in trouble for it. My dad would always make things up for me when he got back from his deployments though. We'd often have weekend trips just the 2 of us. And then around my 12th birthday, my mom insisted on sitting us all down and explain to that she and my dad were getting a divorce. We got the whole talk about how they still love us and they just can't be together anymore, etc. my dad told us both that he still loved us and he would be there for us whenever we needed him. He explained that he would be moving out, but he would be by to pick us up to spend the weekends with us. I was nervous and honestly scared of what it would be like without him. But I was looking forward to the weekend when I got to see him again. That never happened though, and that was the last time I ever got to see him.
Right before his weekend with us, my mom explained to us that my dad didn't want anything to do with us anymore. There was some news story about a father that killed his kids when he had custody of them and she used that to terrify my brother and convince him that our dad wanted to kill us to start his life over. We left damn near everything behind and moved in with my mom's brother in Florida (from Virginia) a couple days before my dad was supposed to come get us. After that, she went to great lengths to make sure we had no contact from him.
Years went on, my mom seemed more indifferent towards me than ever. She never seemed interested in anything I did unless my brother also seemed interested in it. She didn't show any interest in my wanting to learn guitar until my brother also showed interest in it. Then we got one guitar that we had to share, I'd take lessons on the condition that I taught my brother whatever I learned in them. My brother eventually wound up breaking the guitar and I was blamed for not storing it in the case it came with. I had to share my N64 with him whenever he wanted to play it. I was playing perfect dark one day and having a hard time killing the skedar leader at the end of the game. My brother burst into the room saying he wanted to play his MegaMan game, to which I just replied "give me a minute, this boss fight is hard, once I'm done you can have your turn" He didn't like that. He left the room and came back with a hammer and smashed the console while I was still playing. My fault for not letting him play it. The only thing I had that he could not use was a pair of roller blades my aunt got me for my 14th birthday. I specifically asked for roller blades to get around instead of a bike because my brother and I had different shoe sizes, so he couldn't wear them Because of constant shit like that, I never really put much value in having things growing up. I didnt want to buy something or get something as a gift just to have it fucked up in a few weeks or months. At some point, my "little" brother became the larger one, so my clothes all became "hand-me-ups" as he outgrew everything. So, because I didn't really have any distractions at home, I turned into a high achieving student, rarely got in trouble. made the honor roll all throughout school. But that wasn't something to celebrate as it was expected of me. I had long since decided that I was moving out as soon as I could once I turn 18. I got a job working at a Walgreens as soon as I could and started saving up for a car. My mom however took issue with this and would never agree to take me looking for one and absolutely refused to ever have it put on her insurance. This is where my Aunt comes in. She and her son are the only 2 on my mom's side that aren't some sort of degenerate. She had her son young, but put herself through college while raising him alone and eventually got her MBA and a cushy upper corporate job. She told me to tell my mom I had to go in to work on one of my days off, that she would pick me up and she would take me car shopping. So that's what we did. I couldn't quite afford a cash car, but she helped me with the financing. I put down what I had as the down payment, the arrangement she made with me was that 1- as long as I was in school, she would cover the insurance and payments for me, however, if I got into an accident, I was responsible for paying the deductable. And 2- as long as i was living with my mom, the car remained in her (Aunt's) name. And if anything happened to it, to let her know so she could get the appropriate authorities involved. My mom was PISSED when she found out I now had a car. Her reasoning (that she said in front of my aunt) was that she didn't think it was fair for one of us-either me or my brother- to have something the other couldn't use. Due to him being 13 and having epilepsy, he couldn't drive, so why should i have a car if my brother doesn't? That turned into a long shouting match between my mom and Aunt that basically ended with my aunt explaining that since it was her car, and all paperwork on her name, I was just on the insurance for it so I could drive it. But if anything at all happened to it while I was living at my Mom's, that the police and insurance companies would get involved. My mom still kept track of all the miles on the car to "make sure I was only going to work and school and wherever she told me I could go". Most of the time, when I hung out with friends, I wasn't the one driving. From that that point though, my mindset was very much "keep my head down and nose clean until I can leave." I graduated a month before my 18th birthday. After graduation, my mom and i got into an argument about me contributing to her bills. I eventually dropped the ball that I planned on getting back in touch with my Dad and leaving. She started laughing. Something about that laugh made me really uncomfortable. She then said "well, you can certainly meet up with him whenever you want! I'll supply the gun if you buy the bullet!" And told me my dad had died when I was 15. That. Fucking. Broke. Me. Later that night, i called my best friend and vented everything to him. He was in the DEP program for the Navy and would be shipping out in a few months, he told me to come by first thing in the morning and talk with him and his parents about the whole situation. I basically packed up all of my clothes and left the day after my 18th birthday. I just left my house key and a note that said "I'm not your problem anymore." I couch surfed for a little while until after my best friend left for boot camp, then I was able to move in and live with his parents (chosen parents basically). My only real rules were keep the house and my space clean and make sure I had a job and/or going to school. I spent a few months mourning my dad and kind of in a haze. Since he was in the Navy though, that meant I was reliable for financial aid for school. My second dad helped me get everything put together to start receiving that so I could start college.
Well, after a couple years of this, my brother, who had spent his time at school more as "forced socializing" instead of learning, was expelled from public schools for allegedly setting off a fire extinguisher in a classroom. He had to enroll at an alternative school called "the drop back-in academy" that was specifically for dropouts or anyone that got the boot from the public school system. My mom reached out to me and asked me if I would drive him to this school in the mornings, she'd pick him up in the afternoons, and she'd pay me $20 a week.I agreed to it thinking this was out of character for her, but she surprisingly held up to that agreement. I drove him for a couple years until I was ready to start my bachelor program. My second parents were getting ready to move back to their hometown and I was going to start school on the other side of the city. So, I was moving to that side of town and couldn't really drive out of my way to pick up and drop off my brother anymore. He continued his enrollment at this place for another 3 years (5 years total) and it turned out, he was never attending. I would drop his ass off there every day and he'd just walk home immediately after I pulled out of the parking lot. He'd just tell my mom that he finished his work early and decided to walk home instead of wait around for her. One afternoon, I'm coming home early from work and my brother is just sitting on the steps to my studio apartment. He tells me that he and our mom got into a really big argument and he needs a place to stay. I (reluctantly) let him in. I'm stuck thinking he must be really desperate if he's coming to me for help. But I start thinking at this point, he's 24, jobless, and probably needs to learn some self discipline and responsibility, and our mom just never did that for him. So I try to help. I ask him what their fight was about and he tells me that he started dating this girl at his alternative school. She was 21 and got the boot from the school system for being too old to attend (we actually have several relatives that were kicked out of the school system for the same reason) and that he accidentally got her pregnant and our mom did not take kindly to that. I called my landlord and explained the situation to him. He was okay with it, so I let him crash on my couch for a little bit (until the end of my lease, then I'd be moving) and just told him to clean up after himself, take care of himself, etc until we could all work this out. He crashed there for a few months and did Jack shit. He would complain that I didn't have a computer for him to use (I only had a laptop I bought for school) and I didn't have any video game consoles for him to entertain himself with. So he was stuck there bored all day. I got tired of the complaining and lack of effort and told him he had to go back to our mom's if he wasn't going to be an adult. We started shouting at each other until he dropped this little bombshell. He yelled "I can't go back to Mom's!" And when I asked why, he just blurted out "because it's to close to that elementary school!" That stopped the whole thing. "And why is that a big deal now?" I asked him. I already knew why that would be the problem, but 1% of me was holding onto the hope that he was got jumped by a gang of 5th graders and the trauma was too much for him to bear. I told him he could either tell me what's going on, or I could make a phone call and get every last detail I needed. He confessed that he had been leaving that school and going over to his "girlfriend's" house and waiting for her to get home. And that one day, her mom ended up catching them in the act. I explained to him that he was leaving out important details if that was the reason he couldn't be near a school.
He told me she was 14, not 21. I. Lost. My. Shit. Everything after that is kinda fuzzy, but he was arrested, mom posted bail, and since she lived right around the corner from an elementary school, he couldn't stay there. So they told his parole officer that he'd be staying at my address until his court date.. his PO had swung by a couple times, but I was always either at work or school or out somewhere. At this point, I told him the lease was up in 6 weeks, I couldn't stand to be around him. I packed my stuff early, moved out into a storage unit, and I stayed at an extended stay hotel until it was time for me to move. Called my landlord and told him what was going on, and if my brother was still there the last week of the lease, nail him for trespassing. My landlord was a good guy. I never had any problems with him. I paid up the last 6 weeks and threw him since extra cash for his troubles as I knew I wouldn't be getting my deposit back. That was the last time I saw my brother. After I moved out of state, I cut all contact with everyone in that family except my Aunt who was the only one that ever helped me out or even had my back. But even then, it was just through email. We'd mainly email birthday and holiday wishes to each other. Updates from my side on how life and career are going.
I never had a myspace or a Facebook growing up. I either never had a computer to check it on, or I was just so accustomed to not having any online distractions that I just never got around to making one. I did finally make a Facebook and I did get in touch with my dad's side of the family and reconnected with them. I hadn't seem most of them since I was 4 or 5. Some of them had been in contact with my brother (he fucking knew our dad died) and was spinning some sort of web about how he graduated high school early, had gone to college for pre-med and then got some sort of full ride scholarship to some prestigious medical school in Florida. He told them I wasn't on social media because I had been arrested for selling drugs and that he was taking me in after I got released. He was also using my senior portrait as a profile pic. They were surprised when they saw me and how I "looked just like my brother!" I had set the record straight. They looked dumbfounded when I told them that he couldn't get himself out of the 9th grade in 10 years, and now would likely never complete his high school journey due to the fact he can't be within 100 yards of a school.
So, fast forward to last week. I checked my email for the first time since late January (for my aunt's birthday) and noticed a few from her saying my mom wanted to reach out, then several emails from a new address. It was my mom's first initial and last name. Subject lines usually read "please respond" and "let me know you're okay" and stuff like that. I'd copy some of them over, but holy shit this is already a novella. Basically she got my email address from sneaking my aunt's phone (aunt did not sell me out). She's trying to apologize for how she treated me growing up and trying to excuse it by saying I reminded her of my dad and then she was going through menopause and just any excuse to dishes full accountability it seems. She acknowledges that it was wrong to hold me accountable for my brother's fuck-ups but dismisses that by saying he didn't know any better and she needed me to be a good role model for him. Things have been hard for her since I left, since she "had" to take my brother back in (I would've left him on the street or in jail), she had to sell her house (she was only 10 years into her mortgage) and buy another smaller one further from a school for him. He never did get a hs diploma or GED because how can he? And she's been going through breast cancer treatment for the last several months and just doesn't have the energy to take care of her 33yo baby anymore. She asked me if I lived close enough to them to take him in for a little bit while she focuses on her health. I left Florida 8 years ago and haven't even lived in the same time zone in 6 years. She can only check her email at work since she no longer has Internet at home. She had to cancel her home Internet service because of him. So, I decided to just put my brother's name into a search bar and the first thing that pops up is a FDLE sex offender's page. And holy shit has he gone downhill. He had a second arrest when he was 27 for the same thing, and then was caught in communications with another girl (like Chris Hansen sting) and was released from prison at the beginning of the year. And the mugshot.... You know the pale lady from the scary stories to tell in the dark movie? Think that, but with a patchy beard. Beady eyes, bad skin and all. According to the sheriff's office inmate search, he's been arrested 5 times in the last 10 years. Twice for lewd and lascivious battery of a minor (aged 12-15), once for solicitation of a minor, and twice for probation violations.
The TL/DR: abusive mom took all her frustrations out on me, blamed me for everything my brother did, hid my father's death from me until I was almost 18, and reaches out after 8 years of no contact and wants me to take care of her pedophile son while she's in poor health.
I'm attaching my response to her below.
Hi. I'm alive. I'm well. I'm also not okay with you contacting me, especially under the circumstances that you violated the privacy of your own sister to get my contact information. I have read your apologies and excuses and I do not accept either. You say I reminded you of Dad? He spent more time with me and showed more interest in my well-being than you ever did, and that's including the 6 years he was absent from my life by your own selfish design. Menopause? I find that hard to believe as this went on for the better part of half a decade and not once in that time did your attitude towards brother change. You always treated him with the same coddling infantile obsession and patience that one would show a toddler. It was and is clear that you have a preferred child as that adult-sized pile of shit is still living comfortably with dear old mama. I'm guessing no one else is willing to take him in? Are Uncle and Cousins afraid of him doing something to their daughters or grandchildren? I do believe you when you say you want to rebuild the bridge that you nuked from orbit years ago, but I can't believe it's not for your own selfish desires. And I can't find any reason or way my quality of life could be improved with your presence. The reality is, my life has been far better without you than it could be with you. I've never said this to anyone, but if there is a sense of karma and balance in the universe, your current situation is proof of that. The next time I see your name on my computer screen, had better be for your obituary. But since you and the monster you raised both decided to keep Dad's death a secret from me, and remove any choice I had to mourn or pay my respects, I'll return that kindness to you.
Please die away from me.
submitted by Evening-Parsley2112 to narcissisticparents [link] [comments]


2024.05.15 00:30 Spidey1980 Looking for a Javascript library code review, under 3k lines.

I have a pure Javascript windowing library and am in need of a code review. It is basically a web app os. It draws a lot upon AngularJS concepts and architecture, has 30+ implemented window options, is fully customizable, and it is responsive to browser resize. It has a setter proxy for reactive automatic changes, and has data binding and click binding all like AngularJS. It takes a start function on init, and in that gives access to the system as AngularJS does $scope while only returning an appID to global scope. It sets a hidden security div, if another instance is attempted to be created with code typed in the address bar it checks for the security div gives a warning and does nothing for security. Please find my alpha release and a demo html file on git hub: https://github.com/Akadine/jsWin
submitted by Spidey1980 to codereview [link] [comments]


2024.05.15 00:25 Spidey1980 Could someone do a Javascript code review for me?

I have a pure Javascript windowing library and am in need of a code review. It is basically a web app os. It draws a lot upon AngularJS concepts and architecture, has 30+ implemented window options, is fully customizable, and it is responsive to browser resize. It has a setter proxy for reactive automatic changes, and has data binding and click binding all like AngularJS. It takes a start function on init, and in that gives access to the system as AngularJS does $scope while only returning an appID to global scope. It sets a hidden security div, if another instance is attempted to be created with code typed in the address bar it checks for the security div gives a warning and does nothing for security. Please find my alpha release and a demo html file on git hub: https://github.com/Akadine/jsWin
submitted by Spidey1980 to learnprogramming [link] [comments]


2024.05.15 00:02 OkAdministration6696 Docker container intermittently offline - struggling to diagnose

Docker container intermittently offline - struggling to diagnose
Resolved: Issues with bridge network
Hi all,
I have a weird network issue with a docker container running on my host. It will be online and available, but every minute or so is unreachable before coming back online.
The container is Babybuddy and is currently very useful for my wife and I timing and tracking pumping, feeding etc, so really hoping to resolve this.
# curl hostip:8000 -v
* Trying hostip:8000...
* connect to hostip port 8000 failed: No route to host
* Failed to connect to hostip port 8000 after 6107 ms: Couldn't connect to server
* Closing connection 0
curl: (7) Failed to connect to hostip port 8000 after 6107 ms: Couldn't connect to server
10 seconds later
curl hostip:8000 -v
* Trying hostip:8000...
* Connected to hostip (hostip) port 8000 (#0)
< HTTP/1.1 302 Found
< Server: nginx
< Date: Tue, 14 May 2024 21:11:31 GMT
< Content-Type: text/html; charset=utf-8
< Content-Length: 0
< Connection: keep-alive
< Location: /login/?next=/
< Expires: Tue, 14 May 2024 21:11:31 GMT
< Cache-Control: max-age=0, no-cache, no-store, must-revalidate, private
< X-Frame-Options: DENY
< Vary: Accept-Language, Cookie
< Content-Language: en-US
< X-Content-Type-Options: nosniff
< Referrer-Policy: same-origin
< Cross-Origin-Opener-Policy: same-origin
<
* Connection #0 to host hostip left intact
If I complete the same thing using the docker ip 172.x.x.x the same thing occurs. Works then fails. This is the same general experience when accesses the web interface.
If I curl to another container on the same bridge network I never have this problem, but the connection response is quite different - but expected (below is Overseerr).
curl hostip:5055 -v
* Trying hostip:5055...
* Connected to hostip (hostip) port 5055 (#0)
< HTTP/1.1 307 Temporary Redirect
< X-Powered-By: Express
< Location: /login
< Date: Tue, 14 May 2024 21:14:08 GMT
< Connection: keep-alive
< Keep-Alive: timeout=5
< Transfer-Encoding: chunked
<
* Connection #0 to host hostip left intact
The container is on a bridge network. Bridge network contains about 10 other containers, all (except for portainer, detailed at the bottom) with no issues.
Babybuddy is deployed with 8000:8000, but I have tried various ports without success.
# docker container ls --format "table {{.ID}}\t{{.Names}}\t{{.Ports}}" -a
Babybuddy: 80/tcp, 443/tcp, 0.0.0.0:8000->8000/tcp, :::8000->8000/tcp
Portainer: 0.0.0.0:9000->9000/tcp, :::9000->9000/tcp, 8000/tcp, 0.0.0.0:9443->9443/tcp, :::9443->9443/tcp
Nginx Proxy Manager: 80/tcp, 443/tcp, 0.0.0.0:8000->8000/tcp, :::8000->8000/tcp
The bold section seems off to me but stop/rm Nginx Proxy Manager and the problems continue without those ports present. 80/443 are not deployed ports for bb.
https://preview.redd.it/bu58v5zetg0d1.png?width=262&format=png&auto=webp&s=67a5c19cae39d3194cec063eed5125a306806bf0
netstat -tulpn grep 8000
tcp 0 0 0.0.0.0:8000 0.0.0.0:* LISTEN 3007925/docker-prox
tcp6 0 0 :::8000 :::* LISTEN 3007931/docker-prox
I have about 4 clients hitting this container. Home Assistant integrations, 2 mobiles, 1 desktop. In the homeassistant integration you can see the entities dropping unavailable and coming back constantly.
The only other weird issue on my host is Portainer runs very slow occasionally. Loading any part of the portainer gui will pause for 5-10 seconds and then load. Curl to portainer can also take a while sometimes but always eventually responds (could just be timeout settings). If I stop/rm portainer however this makes no difference to babybuddy.
Last resort is probably a macvlan, moving babybuddy to the HA addon, or just sticking this container on a Pi or similar. But I'm trying to consolidate given our baby situation! :)
Thanks in advance.
Openmediavault 7 10c20t 64GB, nvme disk. Barely any of the above is utilised. 
submitted by OkAdministration6696 to selfhosted [link] [comments]


2024.05.14 23:12 Sohmsss Best resources for learning

Hey guys apologies if this is not the best place for this post, I’m looking for some resources to learn a bit more, I’m running a spare PC as a server I mostly use it for hosting Nextcloud, Jellyfin, llama 3 with web ui, and a few docker containers for hosting things like vs code. I’m using Tailscale so I can only access on my Tailscale network as I’m not sure best practices for exposing ports outside my network. I think I need to be using something like a reverse proxy but I’m not too sure where to start, appreciate the help
submitted by Sohmsss to homelab [link] [comments]


2024.05.14 21:37 TrackingSystemDirect Employee Internet Monitoring - 5 Scary Ways Employee Internet Monitoring Technology Is Watching You At Work!

Employee Internet Monitoring - 5 Scary Ways Employee Internet Monitoring Technology Is Watching You At Work!

5 Scary Ways Employee Internet Monitoring Technology Is Watching You At Work!

Did you know your employer might have read every email or private message you sent on your work computer? Scary thought, isn't it? Why would they do that? Employee internet monitoring—that's the watchful system tracking your online work habits. Ever clicked on a website and then realized hours have slipped by? Employers are keen to cut down on that. Reading this, you'll learn why monitoring is in place, how it benefits you, and what you can do to bypass the 5 most common methods of employee internet monitoring.
https://spacehawkgps.com
https://i.redd.it/o7gawz8v1g0d1.gif
Learn more about GPS car tracking here: https://spacehawkgps.com
https://preview.redd.it/my0qd5b82g0d1.jpg?width=4200&format=pjpg&auto=webp&s=2b0c5e459103ff7188712416505371adf37d29fa

Top 5 Ways How Employers Monitor Internet Activity

Web Content Filtering

Web content filtering functions by employing software or hardware solutions that evaluate and control the websites or content categories an individual can access. For instance, a company might use this tool to block access to social media websites during work hours to ensure employees stay focused and prevent potential security risks associated with these platforms. This approach helps employers enhance employee productivity, maintain network security, and ensure compliance with company policies regarding internet usage.
How to bypass web content filtering. Employees may attempt to bypass web content filtering by using a VPN or accessing blocked content through a proxy server. However, it's crucial to note that these methods may violate company policies and could have consequences.

Firewall & IDS Logs

In your workplace, there are likely tools like firewalls and Intrusion Detection Systems (IDS) that generate logs tracking what happens on the company's network. These logs note things like the data going in and out, IP addresses, and connections. Your employer uses these logs to keep an eye out for unauthorized access, malware, or anything unusual happening online. For example, if you accidentally download something suspicious while at work, these logs record it. This helps your company respond quickly and look into anything that seems out of the ordinary, making sure everything stays secure and compliant with company policies.
How to bypass firewalls & IDS logs. Employees usually cannot directly bypass firewall and IDS logs, as they are backend security measures. However, if employees engage in activities that trigger security alerts, employers may investigate their actions based on the log data.

Keystroke Loggers

Keystroke loggers are surveillance software that track every key you press on your computer. Companies install them to monitor employee activity, ensuring work-related use and securing sensitive data. Imagine typing confidential client information; keystroke loggers record this to prevent data breaches. They also help enforce company policies by flagging non-work-related activities during office hours.
How to bypass keystroke loggers. Use on-screen keyboards or text-to-speech tools as they don't involve physical keystrokes. Additionally, encrypted communication apps can obscure the content of your messages, though this may not prevent loggers from detecting that you've sent a message. Always be aware that attempting to bypass company monitoring tools can violate company policy and have serious repercussions.

Employee Monitoring Software

Employee monitoring software is a tool your company might use to oversee your computer activities during work. Popular brands of employee monitoring software include Time Doctor, VeriClock, and InterGuard. And why might a company use these products? One example is to flag when you send an email containing sensitive company information, ensuring data security and policy compliance.
How to bypass employee monitoring. You could use personal devices during breaks for private communications. However, circumventing these systems can lead to disciplinary action or job loss, so always consider the consequences and adhere to your workplace's guidelines.

Network Traffic Analysis Tools

Network traffic analysis tools examine your internet use, identifying what sites and services you access while on the company network. Companies deploy these tools to spot unusual activity, like accessing high-risk websites, which could introduce security threats. Picture clicking on a streaming service during work hours; these tools alert IT that non-work-related traffic is occurring.
How to bypass network scrutiny. Consider using a virtual private network (VPN), although this may contravene company policies. Alternatively, use your own data plan on personal devices for non-work browsing to stay under the radar.
Related Content: How Companies Track Vehicle Fleets
https://i.redd.it/sr73waoj2g0d1.gif

7 Ways How To Tell If My Boss Is Spying On My Computer

  1. Be aware of alerts and notifications from time tracking and productivity measuring software on your company computer.
  2. Surf for common social media applications and see if they are blocked.
  3. Check the task manager on your computer to look out for any activity monitoring software that you may not be aware of.
  4. Compare the bandwidth allocation and application restrictions on your computer with a colleague’s. If your company computer has more restrictions, chances are you are being monitored by your boss.
  5. Indirectly ask the IT department of your office. This is because not all monitoring software leaves a presence in the task Manager. Some employee monitoring software is more advanced, they run in a stealth-mode and cannot simply be opened.
  6. Open your computer’s webcam to assess if it's operational without your approval.
  7. Read your job contract or your company’s employee handbook. If a clause for employee monitoring is present then surely your boss is keeping a check on your internet usage.

Legal Compliance Tips: Responsible Employee Monitoring for Business Owners

If you're a business owner, you're legally allowed to monitor your employees, provided there's a legitimate business interest. Striking the right balance between managing work processes and respecting employees' privacy is essential. Additionally, employees should be notified before any monitoring takes place. Consent requirements may vary depending on your location.
With the rise of remote work, employee internet usage monitoring software and user activity tracking tools are increasingly popular. These systems help improve productivity and protect against insider threats. While it's true that monitoring can boost network security and prevent data loss, it's important to recognize the potential privacy invasion that comes with it. To maintain trust, encourage employees to keep social media usage limited to personal devices and non-work hours. Here are some things you should consider before monitoring an employees' computer activities:
  • Understand local regulations: Research and familiarize yourself with employee monitoring laws in your region to ensure compliance.
  • Establish a clear policy: Create a comprehensive, written policy outlining the extent and purpose of monitoring and share it with employees.
  • Obtain consent: Obtain employee consent, if required by local laws, before implementing monitoring practices.
  • Focus on work-related activities: Limit monitoring to work-related internet usage and activities to minimize privacy invasion.
  • Be transparent: Clearly communicate the monitoring practices, tools, and objectives to your employees.
  • Avoid excessive surveillance: Steer clear of overly invasive methods, such as keystroke logging or unauthorized webcam access.
  • Regularly review your policy: Periodically review and update your monitoring policy to ensure it remains compliant with evolving legal requirements and best practices.
  • Respect personal boundaries: Refrain from monitoring employees during non-work hours or on personal devices.
  • Prioritize employee trust: Create a supportive work environment that respects privacy while maintaining productivity and security.

Frequently Asked Questions

Is Employee Internet Monitoring legal and necessary for my business?

Yes, Employee Internet Monitoring is generally legal, but laws vary by region, so it's crucial to understand local regulations (ACLU). Monitoring software can help track employees' web activity, bandwidth usage, and application usage, offering insights to improve productivity and maintain platform security. However, it's essential to strike a balance between monitoring and respecting employees' privacy.

How can I effectively monitor employee internet usage without invading privacy?

To monitor employee internet usage responsibly, establish a clear policy and communicate it with your staff. Focus on monitoring work-related online activities and use web filtering or data loss prevention tools to prevent access to inappropriate content or unauthorized file transfers. Be transparent about monitoring practices to maintain trust and avoid overly invasive methods like keystroke logging.

What are some of the best employee monitoring software options?

Popular employee monitoring software includes Time Doctor, ActivTrak, and Teramind. These tools provide a range of features like tracking time spent on tasks, monitoring app usage, and offering workforce management solutions. By comparing features, you can choose a tool that best aligns with your business needs and goals for increased productivity.

Can monitoring software help remote workers stay productive and engaged?

Absolutely! Monitoring remote employees' online activities can help you identify areas for improvement and provide tailored support. Tools like terminal servers or remote desktop solutions facilitate remote workforces, while features such as video recordings and behavior analytics help optimize remote employees' performance. Remember, it's essential to communicate expectations and foster a culture of trust.

How can I use the data from employee monitoring tools to improve my business?

Monitoring tools give insights into employees' time management, app usage, and web browsing habits. Use this data to identify trends, detect insider threats, and allocate resources more efficiently. Implement training programs, set performance benchmarks, and consider offering incentives for increased productivity. Ensure you use the data ethically and transparently to maintain a positive work environment.

Can My Employer See My Internet Activity?

Yes, your employer can use various workplace surveillance software and hardware to record everything you do online. Employee monitoring solutions use sophisticated tracking technologies, like geolocation, keystroke logging, and screenshots, video recording. All this data can be stored via cloud computing and can be run through complex algorithms to anticipate insider threats, measure individual and team productivity, as well as retrace various steps leading to any problems or data leaks.
Related Content: Are Employers Allowed To Track Employee Vehicles?
submitted by TrackingSystemDirect to GPStracking [link] [comments]


2024.05.14 17:52 ZealousidealNobody22 Home assistant Chat GPT4o intergration

i was on chat gpt and asked it to create an intergration for chatgpt into home assistant and this is what it came up with

Step 1: Home Assistant Custom Component

First, create a custom component in Home Assistant to interface with the ChatGPT API.
Directory structure:
luaCopy code /config/custom_components/chatgpt_integration/ -- __init__.py -- manifest.json -- services.yaml 
__init__.py:
pythonCopy code import openai import homeassistant.helpers.config_validation as cv import voluptuous as vol from homeassistant.core import HomeAssistant from homeassistant.helpers.typing import ConfigType, ServiceCall DOMAIN = 'chatgpt_integration' CONF_API_KEY = 'api_key' CONFIG_SCHEMA = vol.Schema({ DOMAIN: vol.Schema({ vol.Required(CONF_API_KEY): cv.string, }) }, extra=vol.ALLOW_EXTRA) def setup(hass: HomeAssistant, config: ConfigType): api_key = config[DOMAIN][CONF_API_KEY] openai.api_key = api_key def handle_chatgpt_request(call: ServiceCall): prompt = call.data.get('prompt') response = openai.Completion.create(engine="text-davinci-004", prompt=prompt, max_tokens=150) hass.states.set('chatgpt_integration.response', response.choices[0].text.strip()) hass.services.register(DOMAIN, 'ask', handle_chatgpt_request) return True 
manifest.json:
jsonCopy code { "domain": "chatgpt_integration", "name": "ChatGPT Integration", "version": "1.0", "requirements": ["openai"], "dependencies": [], "codeowners": [] } 
services.yaml:
yamlCopy code ask: description: "Ask ChatGPT a question" fields: prompt: description: "The question to ask ChatGPT" example: "What's the weather like today?" 

Step 2: Web Interface

Create a simple HTML file to serve as the front end for interacting with the ChatGPT service in Home Assistant.
index.html:
htmlCopy code     Home Assistant ChatGPT Interface    

Home Automation with ChatGPT


Step 3: Deploy the Web Interface

To serve the index.html file, you can use Home Assistant’s built-in web server or another web server like Nginx or Apache.
Option 1: Serving with Home Assistant (simpler) Place index.html in the /config/www directory and access it via http://your-home-assistant-url/local/index.html.
Option 2: Serving with Nginx (advanced) Set up an Nginx server to serve the index.html file and proxy requests to Home Assistant.

Step 4: Testing

  1. Ensure your Home Assistant is running and the custom component is properly loaded.
  2. Access the web interface via http://your-home-assistant-url/local/index.html.
  3. Enter a prompt and see the response from ChatGPT displayed.
This example demonstrates a basic integration. For a production-ready solution, consider adding error handling, security measures (like API key protection), and a more sophisticated frontend framework.
submitted by ZealousidealNobody22 to homeassistant [link] [comments]


2024.05.14 17:30 ExaminationOdd8421 user_proxy.initiate_chat summary_args

I created an agent that given a query it searches on the web using BING and then using APIFY scraper it scrapes the first posts. For each post I want a summary using summary_args but I have a couple of questions:
  1. Is there a limit on how many things can we have with the summary_args? When I add more things I get: Given the structure you've requested, it's important to note that the provided Reddit scrape results do not directly offer all the detailed information for each field in the template. However, I'll construct a summary based on the available data for one of the URLs as an example. For a comprehensive analysis, each URL would need to be individually assessed with this template in mind. (I want all of the URLs but it only outputs one)
  2. Is there a way to store locally the summary_args? Any suggestions?
    chat_result = user_proxy.initiate_chat( manager, message="Search the web for information about Deere vs Bobcat on reddit,scrape them and summarize in detail these results.", summary_method="reflection_with_llm", summary_args={ "summary_prompt": """Summarize for each scraped reddit content and format summary as EXACTLY as follows: data = { URL: url used, Date Published: date of post or comment, Title: title of post, Models: what specific models are mentioned?, ... (15 more things)... } """
Thanks!!!
submitted by ExaminationOdd8421 to AutoGenAI [link] [comments]


2024.05.14 14:48 arranft Live coverage of annual meeting

For those who can't attend the annual meeting starting in 15 minutes, I will post the results live with regular edits to this message.
This is the link to watch it live: https://central.virtualshareholdermeeting.com/vsm/web?pvskey=WKHS2024
However you're asked to enter your control number which should be somewhere in the email or the link in the email to the proxy vote website your broker uses. If you can't find it, then just check here for updates. Based on last years meeting which I attended, you won't miss anything except waste 15 minutes listening to formalities.
Edit 1: Meeting has started. Rick Dauch talking, just formalities so far.
Edit 2: Someone else talking, formalities like reading out the description of the votes. Now Bob is talking formalities.
Edit 3: This is so boring it's painful. It's just boring crap repeated over and over like "I second the motion".
Edit 4: What the fuck... Live voting was open for like 15 seconds. Am I like the only person actually listening to this meeting lol..?
Edit 5: Rick talking. Just talking about stuff already done. Demand not as high as expected. Sounds like reading out stuff that was filed in the 8-K.
Now "answering questions". Then basically just repeats what was already said.
Edit 6: Question about share price concerns. Doesn't say anything useful.
Question about aerospace. Just repeats what we already heard. Turned back over to Jim.
Edit 7: All directors elected.
All things have been voted "for".
So yep we're going to get our shares reduced to a mere 17 million out of 450 million shares available, so our ownership stake can potentially be diluted 20 fold.
Meeting adjourned after 15 minutes.
submitted by arranft to WKHS [link] [comments]


2024.05.14 12:42 experts_on_demand 10 Best AI Apps for iPhone and Android in 2024

Artificial intelligence (AI) is no longer limited to science fiction movies. It's woven into the fabric of our daily lives, quietly working behind the scenes to enhance our smartphone experience. From streamlining communication to fueling creative expression, AI-powered apps determine the mannerisms through which we interact with our mobile devices.
In this article, we will look at the ten best apps for iPhone and Android. Alongside this, we will weigh their pros and cons for optimal transparency. Make better data-driven decisions with AI and big data by the end of this article. Here are our top ten picks.

1. Otter.ai

Drowning in sticky notes and illegible handwriting? Otter.ai is your AI-powered solution for effortless note-taking. This app uses real-time speech recognition to transcribe conversations and lectures as they happen.
Focus on the present moment during meetings, interviews, or classes, knowing Otter.ai captures every word. Search through the transcribed text later to pinpoint key points, revisit specific moments, and ensure you never miss a crucial detail again.
Pros: Ditch notes, capture every word, easy search later
Cons: Less clarity, limited free storage, freemium account

2. Grammarly

Grammarly is one of the top ten Android apps for users. Its AI-powered app analyzes your text, identifying grammatical errors, typos, and awkward phrasing. It doesn't just point out mistakes but also suggests corrections and improvements.
Whether crafting an email, composing a social media post, or tackling a report, Grammarly ensures your message shines.
It can even suggest synonyms to enhance your vocabulary and recommend different sentence structures for smoother flow. With Grammarly by your side, you can confidently write, knowing your communication is clear, concise, and polished.
Pros: Flawless writing, improves clarity, boosts vocabulary
Cons: Limited free features, over-reliance, lack of human editorship

3. Moises App

Moises uses AI to separate audio tracks, allowing you to remove vocals from a song to create karaoke tracks or isolate specific instruments for musical experimentation. This app is a treasure trove for musicians, music lovers, and anyone who wants to get creative with audio manipulation.
Pros: Create Karaoke tracks, isolate instruments for remixes, a treasure trove for music lovers
Cons: Mandatory subscription, may require high-quality audio, limited editing features

4. Lensa

Lensa takes your selfies and transforms them into captivating works of art. Explore a library of artistic styles, from classic oil paintings and Renaissance portraits to whimsical cartoon filters and edgy pop art.
Lensa.ai utilizes AI to blend your features with these artistic styles, thereby creating unique and personalized digital masterpieces.
What’s more? You can even experiment with various filters, find your perfect artistic doppelganger, and share your creations on social media to impress your followers. Whether you crave a touch of artistic grandeur or a playful cartoon makeover, Lensa.ai offers a fun and creative way to see yourself in a whole new light.
Pros: AI art makeover, explore art styles, fun social media fodder
Cons: In-app purchases, subjective taste in art, privacy concerns

5. ELSA Speak

Regarded as one of the top ten apps for iPhone, Elsa is a pioneer in language development. Struggling with English pronunciation? Look no further than ELSA Speak, your AI-powered English coach. This app utilizes AI to analyze your spoken English, identifying areas for improvement. It provides personalized feedback on your pronunciation, highlighting sounds and words that need work.
ELSA Speak goes beyond simple corrections. It offers interactive lessons and exercises to help you master specific sounds and improve your fluency.
With regular practice and ELSA Speak's guidance, you can gain the confidence to speak English clearly and effectively in any situation.
Pros: Personalized feedback, improves pronunciation, gains speaking fluency
Cons: Limited languages, requires commitment, subscription format

6. WOMBO Dream

Ever feel creatively blocked or simply yearn for your inner artist? Look no further than WOMBO Dream. This art generator takes the reins, transforming your simple text prompts into unique and captivating paintings.
Describe a "mystical underwater city" or a "portrait of a courageous astronaut" to the app. WOMBO Dream uses its artistic intelligence to translate your words into stunning visuals. Explore a variety of artistic styles, from dreamlike landscapes to classic oil paintings.
With this app, anyone can become an art director, generating conversation-starting masterpieces in seconds.
Pros: AI art generator, explore creative prompts, instant artwork
Cons: Limited control, subscription for extensive styles, lack of artistic interpretation
Overwhelmed with AI? Here’s a step-by-step guide to AI basics and platforms.

7. Color by Number

This app takes the classic coloring-by-number concept and injects a dose of AI. It utilizes AI to generate unique pixel art coloring pages based on various themes and styles. While coloring is a relaxing and therapeutic activity, the AI-generated aspect adds a touch of novelty and keeps things interesting for creative minds.
Pros: Short video clips, caption comprehension, target language learning
Cons: Lacks broader understanding of the topic, requires internet connectivity, does not emphasize speaking or writing

8. Socratic by Google

Stuck on a homework problem and traditional methods aren't cutting it? Look no further than Socratic by Google! This learning app is your virtual study buddy. Simply snap a picture of your math problem, science question, or even a historical passage you're struggling with.
Socratic uses its AI smarts to analyze the content and provide you with step-by-step explanations, relevant videos, and alternative solution methods.
It even tackles multiple subjects, making it a versatile tool for various academic challenges. While Socratic can't solve every problem for you, it acts as a powerful guide, helping you understand concepts and develop problem-solving skills for future success.
Pros: Step-by-step solutions, multiple subjects supported, explanatory videos
Cons: Limited problem-solving types, limited solving capabilities, best for understanding concepts

9. Adobe Premiere Rush

This is a great option for anyone who wants to create and edit professional-looking videos on their phone. It has a simple and intuitive interface, but it also offers a wide range of features, including the ability to add multiple video clips, music, and titles.
You can also use Premiere Rush to adjust the color and lighting of your videos and to add special effects.
Pros: Easy to use, mobile-friendly editing, rich asset library
Cons: Limited features, cloud dependence, export restrictions

10. PlayPhrase

This app combines AI and language learning to create a fun and interactive experience. PlayPhrase uses AI to analyze short videos and generate captions in multiple languages. You can choose a video clip, and select the target language you're learning, and the app will transcribe the audio with captions.
Pros: Engaging video clips, interactive learning experience, multilingual options
Cons: Limited context, Excessive comprehension, needs web connectivity
Read more: Take Your First Step With an AI Basics Course For Beginners
submitted by experts_on_demand to u/experts_on_demand [link] [comments]


2024.05.14 12:21 rweninger Nextcloud Upgrade fron chart version 1.6.61 to 2.0.5 failed

I am not sure if I want to solve this issue actually, I just want to vent.
iX, what do you think yourself when you print out this error message to a "customer"?
I mean your installation of Kubernetes on a single host is crap and using helm charts that utterly break in an atomic chain reaction that way doesnt make it trustworthy. I am on the way to migrate nextcloud away again from TrueNAS to a docker host and just use TrueNAS as storage.
I dont care about sensible data down there, at the time of posting, this system isnt running anymore. Sorry if I annoy somebody.
[EFAULT] Failed to upgrade App: WARNING: Kubernetes configuration file is group-readable. This is insecure. Location: /etc/ranchek3s/k3s.yaml Error: UPGRADE FAILED: execution error at (nextcloud/templates/common.yaml:38:4): Chart - Values contain an error that may be a result of merging. Values containing the error: Error: 'error converting YAML to JSON: yaml: invalid leading UTF-8 octet' TZ: UTC bashImage: pullPolicy: IfNotPresent repository: bash tag: 4.4.23 configmap: nextcloud-config: data: limitrequestbody.conf: LimitRequestBody 3221225472 occ: - #!/bin/bash uid="$(id -u)" gid="$(id -g)" if [ "$uid" = '0' ]; then user='www-data' group='www-data' else user="$uid" group="$gid" fi run_as() { if [ "$(id -u)" = 0 ]; then su -p "$user" -s /bin/bash -c 'php /vawww/html/occ "$@"' - "$@" else /bin/bash -c 'php /vawww/html/occ "$@"' - "$@" fi } run_as "$@" opcache.ini: opcache.memory_consumption=128 php.ini: max_execution_time=30 enabled: true nginx: data: nginx.conf: - events {} http { server { listen 9002 ssl http2; listen [::]:9002 ssl http2; # Redirect HTTP to HTTPS error_page 497 301 =307 https://$host$request_uri; ssl_certificate '/etc/nginx-certs/public.crt'; ssl_certificate_key '/etc/nginx-certs/private.key'; client_max_body_size 3G; add_header Strict-Transport-Security "max-age=15552000; includeSubDomains; preload" always; location = /robots.txt { allow all; log_not_found off; access_log off; } location = /.well-known/carddav { return 301 $scheme://$host/remote.php/dav; } location = /.well-known/caldav { return 301 $scheme://$host/remote.php/dav; } location / { proxy_pass http://nextcloud:80; proxy_http_version 1.1; proxy_cache_bypass $http_upgrade; proxy_request_buffering off; # Proxy headers proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Port 443; # Proxy timeouts proxy_connect_timeout 60s; proxy_send_timeout 60s; proxy_read_timeout 60s; } } } enabled: true fallbackDefaults: accessModes: - ReadWriteOnce persistenceType: emptyDir probeTimeouts: liveness: failureThreshold: 5 initialDelaySeconds: 10 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 5 readiness: failureThreshold: 5 initialDelaySeconds: 10 periodSeconds: 10 successThreshold: 2 timeoutSeconds: 5 startup: failureThreshold: 60 initialDelaySeconds: 10 periodSeconds: 5 successThreshold: 1 timeoutSeconds: 2 probeType: http pvcRetain: false pvcSize: 1Gi serviceProtocol: tcp serviceType: ClusterIP storageClass: "" global: annotations: {} ixChartContext: addNvidiaRuntimeClass: false hasNFSCSI: true hasSMBCSI: true isInstall: false isStopped: false isUpdate: false isUpgrade: true kubernetes_config: cluster_cidr: 172.16.0.0/16 cluster_dns_ip: 172.17.0.10 service_cidr: 172.17.0.0/16 nfsProvisioner: nfs.csi.k8s.io nvidiaRuntimeClassName: nvidia operation: UPGRADE smbProvisioner: smb.csi.k8s.io storageClassName: ix-storage-class-nextcloud upgradeMetadata: newChartVersion: 2.0.5 oldChartVersion: 1.6.61 preUpgradeRevision: 89 labels: {} minNodePort: 9000 image: pullPolicy: IfNotPresent repository: nextcloud tag: 29.0.0 imagePullSecret: [] ixCertificateAuthorities: {} ixCertificates: "1": CA_type_existing: false CA_type_intermediate: false CA_type_internal: false CSR: null DN: /C=US/O=iXsystems/CN=localhost/emailAddress=info@ixsystems.com/ST=Tennessee/L=Maryville/subjectAltName=DNS:localhost can_be_revoked: false cert_type: CERTIFICATE cert_type_CSR: false cert_type_existing: true cert_type_internal: false certificate: -----BEGIN CERTIFICATE----- MIIDrTCCApWgAwIBAgIEHHHd+zANBgkqhkiG9w0BAQsFADCBgDELMAkGA1UEBhMC VVMxEjAQBgNVBAoMCWlYc3lzdGVtczESMBAGA1UEAwwJbG9jYWxob3N0MSEwHwYJ KoZIhvcNAQkBFhJpbmZvQGl4c3lzdGVtcy5jb20xEjAQBgNVBAgMCVRlbm5lc3Nl ZTESMBAGA1UEBwwJTWFyeXZpbGxlMB4XDTIzMTIxNjA3MDUwOVoXDTI1MDExNjA3 MDUwOVowgYAxCzAJBgNVBAYTAlVTMRIwEAYDVQQKDAlpWHN5c3RlbXMxEjAQBgNV BAMMCWxvY2FsaG9zdDEhMB8GCSqGSIb3DQEJARYSaW5mb0BpeHN5c3RlbXMuY29t MRIwEAYDVQQIDAlUZW5uZXNzZWUxEjAQBgNVBAcMCU1hcnl2aWxsZTCCASIwDQYJ KoZIhvcNAQEBBQADggEPADCCAQoCggEBAKPRN3n5ngKFrHQ12gKCmLEN85If6B3E KEo4nvTkTIWLzXZcTGxlJ9kGr9bt0V8cvEInZnOCnyY74lzKlMhZv1R58nfBmz5a gpV6scHXZVghGhGsjtP7/H4PRMUbzM9MawET8+Au8grjAodUkz6Jskcwhgg9EVS5 UQPTDkxXJYFRUN1XhJOR4tqsrHFrI25oUF6Gms9Wp1aq0mJXh+FIGAyELqpdk/Q8 N1Rjn3t4m2Ub+OPmBLwHOncIqz2PHVgL574bT/q+Lc3Mi/gQsfNi6VN7UkNTQ5Q2 uOhrcw4gtjn41v0j7k9CsUvPK8zfCizQHgBx6Ih33Z850pHUQyNuwjECAwEAAaMt MCswFAYDVR0RBA0wC4IJbG9jYWxob3N0MBMGA1UdJQQMMAoGCCsGAQUFBwMBMA0G CSqGSIb3DQEBCwUAA4IBAQAQG2KsF6ki8dooaaM+32APHJp38LEmLNIMdnIlCHPw RnQ+4I8ssEPKk3czIzOlOe6R3V71GWg1JlGEuUD6M3rPbzSfWzv0kdji/qgzUId1 oh9vEao+ndPijYpDi6CUcBADuzilcygSBl05j6RlS2Uv8+tNIjxTKrDegyaEtC3W RoVqON0vhDSKJ3OsOKR2g5uFfs/uHxBvskkChdGn/1aRz+DdHCYVOEavnQylXPBk xzWQDVt6+6mAhejGGkkGsIG1QY7pFpQPA9UWeY/C/3/QdSl01GgfpyWNsfE+Wu1b IS3wxfWfuiMiDbUElqjDqiy623peeVFXrWlTV4G4yBG/ -----END CERTIFICATE----- certificate_path: /etc/certificates/truenas_default.crt chain: false chain_list: - -----BEGIN CERTIFICATE----- MIIDrTCCApWgAwIBAgIEHHHd+zANBgkqhkiG9w0BAQsFADCBgDELMAkGA1UEBhMC VVMxEjAQBgNVBAoMCWlYc3lzdGVtczESMBAGA1UEAwwJbG9jYWxob3N0MSEwHwYJ KoZIhvcNAQkBFhJpbmZvQGl4c3lzdGVtcy5jb20xEjAQBgNVBAgMCVRlbm5lc3Nl ZTESMBAGA1UEBwwJTWFyeXZpbGxlMB4XDTIzMTIxNjA3MDUwOVoXDTI1MDExNjA3 MDUwOVowgYAxCzAJBgNVBAYTAlVTMRIwEAYDVQQKDAlpWHN5c3RlbXMxEjAQBgNV BAMMCWxvY2FsaG9zdDEhMB8GCSqGSIb3DQEJARYSaW5mb0BpeHN5c3RlbXMuY29t MRIwEAYDVQQIDAlUZW5uZXNzZWUxEjAQBgNVBAcMCU1hcnl2aWxsZTCCASIwDQYJ KoZIhvcNAQEBBQADggEPADCCAQoCggEBAKPRN3n5ngKFrHQ12gKCmLEN85If6B3E KEo4nvTkTIWLzXZcTGxlJ9kGr9bt0V8cvEInZnOCnyY74lzKlMhZv1R58nfBmz5a gpV6scHXZVghGhGsjtP7/H4PRMUbzM9MawET8+Au8grjAodUkz6Jskcwhgg9EVS5 UQPTDkxXJYFRUN1XhJOR4tqsrHFrI25oUF6Gms9Wp1aq0mJXh+FIGAyELqpdk/Q8 N1Rjn3t4m2Ub+OPmBLwHOncIqz2PHVgL574bT/q+Lc3Mi/gQsfNi6VN7UkNTQ5Q2 uOhrcw4gtjn41v0j7k9CsUvPK8zfCizQHgBx6Ih33Z850pHUQyNuwjECAwEAAaMt MCswFAYDVR0RBA0wC4IJbG9jYWxob3N0MBMGA1UdJQQMMAoGCCsGAQUFBwMBMA0G CSqGSIb3DQEBCwUAA4IBAQAQG2KsF6ki8dooaaM+32APHJp38LEmLNIMdnIlCHPw RnQ+4I8ssEPKk3czIzOlOe6R3V71GWg1JlGEuUD6M3rPbzSfWzv0kdji/qgzUId1 oh9vEao+ndPijYpDi6CUcBADuzilcygSBl05j6RlS2Uv8+tNIjxTKrDegyaEtC3W RoVqON0vhDSKJ3OsOKR2g5uFfs/uHxBvskkChdGn/1aRz+DdHCYVOEavnQylXPBk xzWQDVt6+6mAhejGGkkGsIG1QY7pFpQPA9UWeY/C/3/QdSl01GgfpyWNsfE+Wu1b IS3wxfWfuiMiDbUElqjDqiy623peeVFXrWlTV4G4yBG/ -----END CERTIFICATE----- city: Maryville common: localhost country: US csr_path: /etc/certificates/truenas_default.csr digest_algorithm: SHA256 email: info@ixsystems.com expired: false extensions: ExtendedKeyUsage: TLS Web Server Authentication SubjectAltName: DNS:localhost fingerprint: 8E:68:9D:0A:7D:A6:41:11:59:B0:0C:01:8C:AC:C4:F4:DB:F9:6B:2C from: Sat Dec 16 08:05:09 2023 id: 1 internal: "NO" issuer: external key_length: 2048 key_type: RSA lifetime: 397 name: truenas_default organization: iXsystems organizational_unit: null parsed: true privatekey: -----BEGIN PRIVATE KEY----- MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCj0Td5+Z4Chax0 NdoCgpixDfOSH+gdxChKOJ705EyFi812XExsZSfZBq/W7dFfHLxCJ2Zzgp8mO+Jc ypTIWb9UefJ3wZs+WoKVerHB12VYIRoRrI7T+/x+D0TFG8zPTGsBE/PgLvIK4wKH VJM+ibJHMIYIPRFUuVED0w5MVyWBUVDdV4STkeLarKxxayNuaFBehprPVqdWqtJi V4fhSBgMhC6qXZP0PDdUY597eJtlG/jj5gS8Bzp3CKs9jx1YC+e+G0/6vi3NzIv4 ELHzYulTe1JDU0OUNrjoa3MOILY5+Nb9I+5PQrFLzyvM3wos0B4AceiId92fOdKR 1EMjbsIxAgMBAAECggEAS/Su51RxCjRWwM9TVUSebcHNRNyccGjKUZetRFkyjd1D l/S1zrCcaElscJh2MsaNF5NTMo3HIyAzFdksYTUTvKSKYzKWu7OVxp9MGle3+sPm ZXmABBRbf0uvFEGOljOVjbtloXXC7n9RZdQ2LZIE4nNCQkGmboU6Zi6O+6CQmEOQ 9iyYJ8NyXtjDT2sVOpysAj3ga6tdtSosG7SQuo41t20mw6hbl08LhQP9LfZJyKCR 0x1cYny+XHifB6JQAt8crzHYpKaJc2tZd4dXJ1xDnm2Aa/Au5uEA01P/L3hf41sI cUmBhVf1z5m9yBsyaZnW6LzaR5tQwpnPWPEcNfuwLQKBgQDM1o8vwKCo435shpGE zCdqbvK4+J0XYmbgEwHId8xr9rzZ852lAhs6VO2WQQVMGUoWRaH44B3z1Jv9N5Qa 4RUwnTb1MERfzEjRwUuIWjtz34yAXko0iU3M0FYpIxDuKVJNOEO1Doey0lTUcIYQ sfRUVxxJZ3hpDo7RhPSZpwyBtwKBgQDMu8PFVQ5XRb90qaGqg+ACaXMfHXfuWzuJ UqgyNrvF6wqd9Z0Nn299m7EonE6qJftUqlqHC62OCBfqRBNkwOw40s7ORZvqUCkP 7WsWuJu4HqhS2we8yKRuqj520VP537ZeqnK64mDxDKBvL9ttCujbxy01WFWcdwkO sSAViAK7VwKBgQCAeNG1kYsyYfyY9I2wTJssFgoGGWftkroTL9iecwSzcj1gNXta Usfg/gNFieJYqEPfVC0Sev5OP7rWRlWNxj4UD4a4oV1A+E9zv1gwXOeM9ViZ6omA Cd3R55kik+u6dBA6fl9433Qco+6wjyKGthYYD8qd/1d2DLtmjY0cEbm2YQKBgH4/ Zuifm5lLhFVPaUa5zYAPQJM2W8da8OqsUtWsFLxmRQTE+ZT19Q1S3br6MDQR+drq tapDFEHaUcz/L6pYoRIlRKvEFvI1fiy5Lekz66ptFUUKlcnfPC6VwrEIQi16u33C w77ka/0Y2THXJAsoyBEG0KTtlNVIPgiWRv+gAHc/AoGATOlO6ZVhf0vWPIKBhajM ijWTNIX/iCNOheJEjLEPksG4LVpU16OphZL2m0nIyOryQ0Fmt7GHUfl3CXFhTH/P G47PzH+mLCQLp5TUIeNRQWScWNGGsf9J+MtwpxHMzUymDJySR4aot0bH3fge0MO1 QccFxNbLODRmJuYbSQB1HZQ= -----END PRIVATE KEY----- privatekey_path: /etc/certificates/truenas_default.key revoked: false revoked_date: null root_path: /etc/certificates san: - DNS:localhost serial: 477224443 signedby: null state: Tennessee subject_name_hash: 3193428416 type: 8 until: Thu Jan 16 08:05:09 2025 ixChartContext: addNvidiaRuntimeClass: false hasNFSCSI: true hasSMBCSI: true isInstall: false isStopped: false isUpdate: false isUpgrade: true kubernetes_config: cluster_cidr: 172.16.0.0/16 cluster_dns_ip: 172.17.0.10 service_cidr: 172.17.0.0/16 nfsProvisioner: nfs.csi.k8s.io nvidiaRuntimeClassName: nvidia operation: UPGRADE smbProvisioner: smb.csi.k8s.io storageClassName: ix-storage-class-nextcloud upgradeMetadata: newChartVersion: 2.0.5 oldChartVersion: 1.6.61 preUpgradeRevision: 89 ixExternalInterfacesConfiguration: [] ixExternalInterfacesConfigurationNames: [] ixVolumes: - hostPath: /mnt/Camelot/ix-applications/releases/nextcloud/volumes/ix_volumes/ix-postgres_backups mariadbImage: pullPolicy: IfNotPresent repository: mariadb tag: 10.6.14 ncConfig: additionalEnvs: [] adminPassword: d3k@M%YRBRcj adminUser: admin commands: [] cron: enabled: false schedule: '*/15 * * * *' dataDir: /vawww/html/data host: charon.weninger.local maxExecutionTime: 30 maxUploadLimit: 3 opCacheMemoryConsumption: 128 phpMemoryLimit: 512 ncDbHost: nextcloud-postgres ncDbName: nextcloud ncDbPass: XvgIoT84hMmNDlH ncDbUser: ��-��� ncNetwork: certificateID: 1 nginx: externalAccessPort: 443 proxyTimeouts: 60 useDifferentAccessPort: false webPort: 9002 ncPostgresImage: pullPolicy: IfNotPresent repository: postgres tag: "13.1" ncStorage: additionalStorages: [] data: hostPathConfig: aclEnable: false hostPath: /mnt/Camelot/Applications/Nextcloud/ncdata ixVolumeConfig: datasetName: data type: hostPath html: hostPathConfig: aclEnable: false hostPath: /mnt/Camelot/Applications/Nextcloud/ncdata ixVolumeConfig: datasetName: html type: hostPath isDataInTheSameVolume: true migrationFixed: true pgBackup: ixVolumeConfig: aclEnable: false datasetName: ix-postgres_backups type: ixVolume pgData: hostPathConfig: aclEnable: false hostPath: /mnt/Camelot/Applications/Nextcloud/pgdata ixVolumeConfig: datasetName: pgData type: hostPath nginxImage: pullPolicy: IfNotPresent repository: nginx tag: 1.25.4 notes: custom: ## Database You can connect to the database using the pgAdmin App from the catalog
Database Details
- Database: \{{ .Values.ncDbName }}` - Username: `{{ .Values.ncDbUser }}` - Password: `{{ .Values.ncDbPass }}` - Host: `{{ .Values.ncDbHost }}.{{ .Release.Namespace }}.svc.cluster.local` - Port: `5432``
{{- $_ := unset .Values "ncDbUser" }} {{- $_ := unset .Values "ncDbName" }} {{- $_ := unset .Values "ncDbPass" }} {{- $_ := unset .Values "ncDbHost" }} Note: Nextcloud will create an additional new user and password for the admin user on first startup. You can find those credentials in the \/vawww/html/config/config.php` file inside the container. footer: # Documentation Documentation for this app can be found at https://www.truenas.com/docs. # Bug reports If you find a bug in this app, please file an issue at https://ixsystems.atlassian.net header: # Welcome to TrueNAS SCALE Thank you for installing {{ .Chart.Annotations.title }} App. persistence: config: datasetName: null domain: null enabled: true hostPath: /mnt/Camelot/Applications/Nextcloud/ncdata medium: null password: null readOnly: false server: null share: null size: null targetSelector: nextcloud: nextcloud: mountPath: /vawww/html/config subPath: config nextcloud-cron: nextcloud-cron: mountPath: /vawww/html/config subPath: config type: hostPath username: null customapps: datasetName: null domain: null enabled: true hostPath: /mnt/Camelot/Applications/Nextcloud/ncdata medium: null password: null readOnly: false server: null share: null size: null targetSelector: nextcloud: nextcloud: mountPath: /vawww/html/customapps subPath: custom_apps nextcloud-cron: nextcloud-cron: mountPath: /vawww/html/custom_apps subPath: custom_apps type: hostPath username: null data: datasetName: null domain: null enabled: true hostPath: /mnt/Camelot/Applications/Nextcloud/ncdata medium: null password: null readOnly: false server: null share: null size: null targetSelector: nextcloud: nextcloud: mountPath: /vawww/html/data subPath: data nextcloud-cron: nextcloud-cron: mountPath: /vawww/html/data subPath: data type: hostPath username: null html: datasetName: null domain: null enabled: true hostPath: /mnt/Camelot/Applications/Nextcloud/ncdata medium: null password: null readOnly: false server: null share: null size: null targetSelector: nextcloud: nextcloud: mountPath: /vawww/html subPath: html nextcloud-cron: nextcloud-cron: mountPath: /vawww/html subPath: html postgresbackup: postgresbackup: mountPath: /nc-config type: hostPath username: null nc-config-limreqbody: defaultMode: "0755" enabled: true objectName: nextcloud-config targetSelector: nextcloud: nextcloud: mountPath: /etc/apache2/conf-enabled/limitrequestbody.conf subPath: limitrequestbody.conf type: configmap nc-config-opcache: defaultMode: "0755" enabled: true objectName: nextcloud-config targetSelector: nextcloud: nextcloud: mountPath: /uslocal/etc/php/conf.d/opcache-z-99.ini subPath: opcache.ini type: configmap nc-config-php: defaultMode: "0755" enabled: true objectName: nextcloud-config targetSelector: nextcloud: nextcloud: mountPath: /uslocal/etc/php/conf.d/nextcloud-z-99.ini subPath: php.ini type: configmap nc-occ: defaultMode: "0755" enabled: true objectName: nextcloud-config targetSelector: nextcloud: nextcloud: mountPath: /usbin/occ subPath: occ type: configmap nginx-cert: defaultMode: "0600" enabled: true items: - key: tls.key path: private.key - key: tls.crt path: public.crt objectName: nextcloud-cert targetSelector: nginx: nginx: mountPath: /etc/nginx-certs readOnly: true type: secret nginx-conf: defaultMode: "0600" enabled: true items: - key: nginx.conf path: nginx.conf objectName: nginx targetSelector: nginx: nginx: mountPath: /etc/nginx readOnly: true type: configmap postgresbackup: datasetName: ix-postgres_backups domain: null enabled: true hostPath: null medium: null password: null readOnly: false server: null share: null size: null targetSelector: postgresbackup: permissions: mountPath: /mnt/directories/postgres_backup postgresbackup: mountPath: /postgres_backup type: ixVolume username: null postgresdata: datasetName: null domain: null enabled: true hostPath: /mnt/Camelot/Applications/Nextcloud/pgdata medium: null password: null readOnly: false server: null share: null size: null targetSelector: postgres: permissions: mountPath: /mnt/directories/postgres_data postgres: mountPath: /valib/postgresql/data type: hostPath username: null themes: datasetName: null domain: null enabled: true hostPath: /mnt/Camelot/Applications/Nextcloud/ncdata medium: null password: null readOnly: false server: null share: null size: null targetSelector: nextcloud: nextcloud: mountPath: /vawww/html/themes subPath: themes nextcloud-cron: nextcloud-cron: mountPath: /vawww/html/themes subPath: themes type: hostPath username: null tmp: enabled: true targetSelector: nextcloud: nextcloud: mountPath: /tmp type: emptyDir podOptions: automountServiceAccountToken: false dnsConfig: options: [] dnsPolicy: ClusterFirst enableServiceLinks: false hostAliases: [] hostNetwork: false restartPolicy: Always runtimeClassName: "" terminationGracePeriodSeconds: 30 tolerations: [] portal: {} postgresImage: pullPolicy: IfNotPresent repository: postgres tag: "15.2" rbac: {} redisImage: pullPolicy: IfNotPresent repository: bitnami/redis tag: 7.0.11 release_name: nextcloud resources: NVIDIA_CAPS: - all limits: cpu: 4000m memory: 8Gi requests: cpu: 10m memory: 50Mi scaleCertificate: nextcloud-cert: enabled: true id: 1 scaleExternalInterface: [] scaleGPU: [] secret: {} securityContext: container: PUID: 568 UMASK: "002" allowPrivilegeEscalation: false capabilities: add: [] drop: - ALL privileged: false readOnlyRootFilesystem: true runAsGroup: 568 runAsNonRoot: true runAsUser: 568 seccompProfile: type: RuntimeDefault pod: fsGroup: 568 fsGroupChangePolicy: OnRootMismatch supplementalGroups: [] sysctls: [] service: nextcloud: enabled: true ports: webui: enabled: true port: 80 primary: true targetPort: 80 targetSelector: nextcloud primary: true targetSelector: nextcloud type: ClusterIP nextcloud-nginx: enabled: true ports: webui-tls: enabled: true nodePort: 9002 port: 9002 targetPort: 9002 targetSelector: nginx targetSelector: nginx type: NodePort postgres: enabled: true ports: postgres: enabled: true port: 5432 primary: true targetPort: 5432 targetSelector: postgres targetSelector: postgres type: ClusterIP redis: enabled: true ports: redis: enabled: true port: 6379 primary: true targetPort: 6379 targetSelector: redis targetSelector: redis type: ClusterIP serviceAccount: {} workload: nextcloud: enabled: true podSpec: containers: nextcloud: enabled: true envFrom: - secretRef: name: nextcloud-creds imageSelector: image lifecycle: postStart: command: - /bin/sh - -c - echo "Installing ..." apt update && apt install -y --no-install-recommends \ echo "Failed to install binary/binaries..." echo "Finished." type: exec primary: true probes: liveness: enabled: true httpHeaders: Host: localhost path: /status.php port: 80 type: http readiness: enabled: true httpHeaders: Host: localhost path: /status.php port: 80 type: http startup: enabled: true httpHeaders: Host: localhost path: /status.php port: 80 type: http securityContext: capabilities: add: - CHOWN - DAC_OVERRIDE - FOWNER - NET_BIND_SERVICE - NET_RAW - SETGID - SETUID readOnlyRootFilesystem: false runAsGroup: 0 runAsNonRoot: false runAsUser: 0 hostNetwork: false initContainers: postgres-wait: args: - -c - echo "Waiting for postgres to be ready" until pg_isready -h ${POSTGRES_HOST} -U ${POSTGRES_USER} -d ${POSTGRES_DB}; do sleep 2 done command: bash enabled: true envFrom: - secretRef: name: postgres-creds imageSelector: postgresImage resources: limits: cpu: 500m memory: 256Mi type: init redis-wait: args: - -c - - echo "Waiting for redis to be ready" until redis-cli -h "$REDIS_HOST" -a "$REDIS_PASSWORD" -p ${REDIS_PORT_NUMBER:-6379} ping grep -q PONG; do echo "Waiting for redis to be ready. Sleeping 2 seconds..." sleep 2 done echo "Redis is ready!" command: bash enabled: true envFrom: - secretRef: name: redis-creds imageSelector: redisImage resources: limits: cpu: 500m memory: 256Mi type: init securityContext: fsGroup: 33 primary: true type: Deployment nginx: enabled: true podSpec: containers: nginx: enabled: true imageSelector: nginxImage primary: true probes: liveness: enabled: true httpHeaders: Host: localhost path: /status.php port: 9002 type: https readiness: enabled: true httpHeaders: Host: localhost path: /status.php port: 9002 type: https startup: enabled: true httpHeaders: Host: localhost path: /status.php port: 9002 type: https securityContext: capabilities: add: - CHOWN - DAC_OVERRIDE - FOWNER - NET_BIND_SERVICE - NET_RAW - SETGID - SETUID readOnlyRootFilesystem: false runAsGroup: 0 runAsNonRoot: false runAsUser: 0 hostNetwork: false initContainers: 01-wait-server: args: - -c - - echo "Waiting for [http://nextcloud:80]"; until wget --spider --quiet --timeout=3 --tries=1 http://nextcloud:80/status.php; do echo "Waiting for [http://nextcloud:80]"; sleep 2; done echo "Nextcloud is up: http://nextcloud:80"; command: - bash enabled: true imageSelector: bashImage type: init type: Deployment postgres: enabled: true podSpec: containers: postgres: enabled: true envFrom: - secretRef: name: postgres-creds imageSelector: ncPostgresImage primary: true probes: liveness: command: - sh - -c - until pg_isready -U ${POSTGRES_USER} -h localhost; do sleep 2; done enabled: true type: exec readiness: command: - sh - -c - until pg_isready -U ${POSTGRES_USER} -h localhost; do sleep 2; done enabled: true type: exec startup: command: - sh - -c - until pg_isready -U ${POSTGRES_USER} -h localhost; do sleep 2; done enabled: true type: exec resources: limits: cpu: 4000m memory: 8Gi securityContext: readOnlyRootFilesystem: false runAsGroup: 999 runAsUser: 999 initContainers: permissions: args: - -c - "for dir in /mnt/directories/; do\n if [ ! -d \"$dir\" ]; then\n echo \"[$dir] is not a directory, skipping\"\n continue\n fi\n\n echo \"Current Ownership and Permissions on [\"$dir\"]:\"\n echo \"chown: $(stat -c \"%u %g\" \"$dir\")\"\n echo \"chmod: $(stat -c \"%a\" \"$dir\")\" \n fix_owner=\"true\"\n fix_perms=\"true\"\n\n\n if [ \"$fix_owner\" = \"true\" ]; then\n echo \"Changing ownership to 999:999 on: [\"$dir\"]\"\n \ chown -R 999:999 \"$dir\"\n echo \"Finished changing ownership\"\n \ echo \"Ownership after changes:\"\n stat -c \"%u %g\" \"$dir\"\n \ fi\ndone\n" command: bash enabled: true imageSelector: bashImage resources: limits: cpu: 1000m memory: 512Mi securityContext: capabilities: add: - CHOWN readOnlyRootFilesystem: false runAsGroup: 0 runAsNonRoot: false runAsUser: 0 type: install type: Deployment postgresbackup: annotations: helm.sh/hook: pre-upgrade helm.sh/hook-delete-policy: hook-succeeded helm.sh/hook-weight: "1" enabled: true podSpec: containers: postgresbackup: command: - sh - -c - echo 'Fetching password from config.php' # sed removes ' , => spaces and db from the string POSTGRES_USER=$(cat /nc-config/config/config.php grep 'dbuser' sed "s/dbuser ',=>//g") POSTGRES_PASSWORD=$(cat /nc-config/config/config.php grep 'dbpassword' sed "s/dbpassword ',=>//g") POSTGRES_DB=$(cat /nc-config/config/config.php grep 'dbname' sed "s/dbname ',=>//g") [ -n "$POSTGRES_USER" ] && [ -n "$POSTGRES_PASSWORD" ] && [ -n "$POSTGRES_DB" ] && echo 'User, Database and password fetched from config.php' until pg_isready -U ${POSTGRES_USER} -h ${POSTGRES_HOST}; do sleep 2; done echo "Creating backup of ${POSTGRES_DB} database" pg_dump --dbname=${POSTGRES_URL} --file /postgres_backup/${POSTGRES_DB}$(date +%Y-%m-%d_%H-%M-%S).sql echo "Failed to create backup" echo "Backup finished" enabled: true envFrom: - secretRef: name: postgres-backup-creds imageSelector: ncPostgresImage primary: true probes: liveness: enabled: false readiness: enabled: false startup: enabled: false resources: limits: cpu: 2000m memory: 2Gi securityContext: readOnlyRootFilesystem: false runAsGroup: 999 runAsUser: 999 initContainers: permissions: args: - -c - "for dir in /mnt/directories/*; do\n if [ ! -d \"$dir\" ]; then\n echo \"[$dir] is not a directory, skipping\"\n continue\n fi\n\n echo \"Current Ownership and Permissions on [\"$dir\"]:\"\n echo \"chown: $(stat -c \"%u %g\" \"$dir\")\"\n echo \"chmod: $(stat -c \"%a\" \"$dir\")\" \n if [ $(stat -c %u \"$dir\") -eq 999 ] && [ $(stat -c %g \"$dir\") -eq 999 ]; then\n echo \"Ownership is correct. Skipping...\"\n fix_owner=\"false\"\n \ else\n echo \"Ownership is incorrect. Fixing...\"\n fix_owner=\"true\"\n \ fi\n\n\n if [ \"$fix_owner\" = \"true\" ]; then\n echo \"Changing ownership to 999:999 on: [\"$dir\"]\"\n chown -R 999:999 \"$dir\"\n \ echo \"Finished changing ownership\"\n echo \"Ownership after changes:\"\n \ stat -c \"%u %g\" \"$dir\"\n fi\ndone" command: bash enabled: true imageSelector: bashImage resources: limits: cpu: 1000m memory: 512Mi securityContext: capabilities: add: - CHOWN readOnlyRootFilesystem: false runAsGroup: 0 runAsNonRoot: false runAsUser: 0 type: init restartPolicy: Never securityContext: fsGroup: "33" type: Job redis: enabled: true podSpec: containers: redis: enabled: true envFrom: - secretRef: name: redis-creds imageSelector: redisImage primary: true probes: liveness: command: - /bin/sh - -c - redis-cli -a "$REDIS_PASSWORD" -p ${REDIS_PORT_NUMBER:-6379} ping grep -q PONG enabled: true type: exec readiness: command: - /bin/sh - -c - redis-cli -a "$REDIS_PASSWORD" -p ${REDIS_PORT_NUMBER:-6379} ping grep -q PONG enabled: true type: exec startup: command: - /bin/sh - -c - redis-cli -a "$REDIS_PASSWORD" -p ${REDIS_PORT_NUMBER:-6379} ping grep -q PONG enabled: true type: exec resources: limits: cpu: 4000m memory: 8Gi securityContext: readOnlyRootFilesystem: false runAsGroup: 0 runAsNonRoot: false runAsUser: 1001 securityContext: fsGroup: 1001 type: Deployment See error above values.`
submitted by rweninger to truenas [link] [comments]


2024.05.14 09:26 Human_Spray7962 Web scraping 🤦

Hey actually i have a web app that uses scraping to collect data and in the background I am using requests and beautifulsoup right now I am using a 5 proxies so that I don't get detected and also right now I am scraping very very slowly. In the coming months I have to increase the speed of scraping 100x apart from proxies and user agents which will initially get blocked is there any python package or some other technique that I can use so that my scraping is not detectable.
Thanks in advance ☺️
submitted by Human_Spray7962 to django [link] [comments]


2024.05.14 07:44 Murky_Egg_5794 CORS not working for app in Docker but work when run on simple dotnet command

Hello everyone, I am totally new to Docker and I have been stuck on this for around 5 days now. I have a web app where my frontend is using react and Node.js and my backend is using C#, aspNet, to run as a server.
I have handled CORS policy blocking as below for my frontend (running on localhost:3000) to communicate with my backend (running on localhost:5268), and they work fine.
The code that handles CORS policy blocking:
var MyAllowSpecificOrigins = "_myAllowSpecificOrigins"; var builder = WebApplication.CreateBuilder(args); builder.Services.AddCors(options => { options.AddPolicy(name: MyAllowSpecificOrigins, policy => { policy.WithOrigins("http://localhost:3000/") .AllowAnyMethod() .AllowAnyHeader(); }); }); builder.Services.AddControllers(); builder.Services.AddHttpClient(); var app = builder.Build(); app.UseHttpsRedirection(); app.UseCors(MyAllowSpecificOrigins); app.UseAuthorization(); app.MapControllers(); app.Run(); 
However, when I implement Docker into my code and run the command docker run -p 5268:80 App to start Docker of my backend, I received an error on my browser:
Access to XMLHttpRequest at 'http://localhost:5268/news' from origin 'http://localhost:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. 
I add Krestrel to appsetting.json to change the base service port as below:
 "Kestrel": { "EndPoints": { "Http": { "Url": "http://+:80" } } } 
Here is my Dockerfile:
# Get base SDK Image from Microsoft FROM AS build-env WORKDIR /app ENV ASPNETCORE_URLS=http://+:80 EXPOSE 80 # Copy the csproj and restore all of the nugets COPY *.csproj ./ RUN dotnet restore # Copy the rest of the project files and build out release COPY . ./ RUN dotnet publish -c Release -o out # Generate runtime image FROM WORKDIR /app COPY --from=build-env /app/out . ENTRYPOINT [ "dotnet", "backend.dll" ] 
Here is my launchSettings.json file's content:
{ "_comment": "For devEnv: http://localhost:5268 and for proEnv: https://kcurr-backend.onrender.com", "iisSettings": { "windowsAuthentication": false, "anonymousAuthentication": true, "iisExpress": { "applicationUrl": "http://localhost:19096", "sslPort": 44358 } }, "profiles": { "http": { "commandName": "Project", "dotnetRunMessages": true, "launchBrowser": true, "applicationUrl": "http://localhost:5268", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } }, "https": { "commandName": "Project", "dotnetRunMessages": true, "launchBrowser": true, "applicationUrl": "https://localhost:7217;http://localhost:5268", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } }, "IIS Express": { "commandName": "IISExpress", "launchBrowser": true, "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } } }, } 
I did some research on this and found that I need to use NGINX to fixed it, so I add nginx.conf and tell docker to read nginx.config as well as below:
now my Dockerfile only has:
# Read NGIXN config to fixed CORS policy blocking FROM nginx:alpine WORKDIR /etc/nginx COPY ./nginx.conf ./conf.d/default.conf EXPOSE 80 ENTRYPOINT [ "nginx" ] CMD [ "-g", "daemon off;" ]mcr.microsoft.com/dotnet/sdk:7.0mcr.microsoft.com/dotnet/sdk:7.0 
here is nginx.conf:
upstream api { # Could be host.docker.internal - Docker for Mac/Windows - the host itself # Could be your API in a appropriate domain # Could be other container in the same network, like container_name:port server 5268:80; } server { listen 80; server_name localhost; location / { if ($request_method = 'OPTIONS') { add_header 'Access-Control-Max-Age' 1728000; add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Headers' 'Authorization,Accept,Origin,DNT,X-CustomHeader,Keep-Alive,User-Agent, X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range'; add_header 'Access-Control-Allow-Methods' 'GET,POST,OPTIONS,PUT,DELETE,PATCH'; add_header 'Content-Type' 'application/json'; add_header 'Content-Length' 0; return 204; } add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Headers' 'Authorization,Accept,Origin,DNT,X-CustomHeader,Keep-Alive,User-Agent, X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range'; add_header 'Access-Control-Allow-Methods' 'GET,POST,OPTIONS,PUT,DELETE,PATCH'; proxy_pass http://api/; } } 
when I build docker by running: docker build -t kcurr-backend . and then running command docker run -p 5268:80 kcurr-backend, no error shown on console as below:
2024/05/14 05:58:36 [notice] 1#1: using the "epoll" event method 2024/05/14 05:58:36 [notice] 1#1: nginx/1.25.5 2024/05/14 05:58:36 [notice] 1#1: built by gcc 13.2.1 20231014 (Alpine 13.2.1_git20231014) 2024/05/14 05:58:36 [notice] 1#1: OS: Linux 6.6.22-linuxkit 2024/05/14 05:58:36 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576 2024/05/14 05:58:36 [notice] 1#1: start worker processes 2024/05/14 05:58:36 [notice] 1#1: start worker process 7 2024/05/14 05:58:36 [notice] 1#1: start worker process 8 2024/05/14 05:58:36 [notice] 1#1: start worker process 9 2024/05/14 05:58:36 [notice] 1#1: start worker process 10 2024/05/14 05:58:36 [notice] 1#1: start worker process 11 2024/05/14 05:58:36 [notice] 1#1: start worker process 12 2024/05/14 05:58:36 [notice] 1#1: start worker process 13 2024/05/14 05:58:36 [notice] 1#1: start worker process 14 
However, I still cannot connect my frontend to my backend and received the same error on the browser as before, I also received a new error on the console as below :
2024/05/14 05:58:42 [error] 8#8: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.65.1, server: localhost, request: "GET /curcurrency-country HTTP/1.1", upstream: "http://0.0.20.148:80/curcurrency-country", host: "localhost:5268", referrer: "http://localhost:3000/" 2024/05/14 05:58:42 [error] 7#7: *2 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.65.1, server: localhost, request: "POST /news HTTP/1.1", upstream: "http://0.0.20.148:80/news", host: "localhost:5268", referrer: "http://localhost:3000/" 192.168.65.1 - - [14/May/2024:05:58:42 +0000] "POST /news HTTP/1.1" 502 559 "http://localhost:3000/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36" "-" 192.168.65.1 - - [14/May/2024:05:58:42 +0000] "GET /curcurrency-country HTTP/1.1" 502 559 "http://localhost:3000/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36" "-" 
Does anyone know what I should do to fix the CORS policy blocking for my dockerized backend?
please help.
submitted by Murky_Egg_5794 to dotnetcore [link] [comments]


http://activeproperty.pl/