Synced
lmao forgot that little shit (2785f23a54) xi changed the description format (b2ab422f62) remove cara (89051f0129) remove tracking links on video search using euroshit proxies (d7bb0755cb) turn off history in ff (2d8e5838cd)
This commit is contained in:
parent
0e137605b0
commit
4236b1df5a
6 changed files with 75 additions and 865 deletions
|
|
@ -152,6 +152,8 @@ This should expose a webservice located at `http://localhost:3000`. I highly rec
|
|||
|
||||
If done correctly, you should see the red dot turn green in the extension's icon. You're ready to load pages!
|
||||
|
||||
**IMPORTANT:** You will want to turn off search history to protect yourself and your users. Head to `about:preferences` and search for "history". Under the "History" category, pick "Customize category", then click "Choose what you want Firefox to remember". In that sub-menu, untick everything. Make sure to **NOT** turn on the "Always use private browsing mode" option, as it will prevent the 4play extension from creating containers.
|
||||
|
||||
## Setting up 4get
|
||||
Now, you need to tell FOSS-Q to use the 4play service. Edit `data/config.php` and change these:
|
||||
|
||||
|
|
|
|||
|
|
@ -674,7 +674,6 @@ class frontend{
|
|||
"baidu" => "Baidu",
|
||||
"solofield" => "Solofield",
|
||||
"pinterest" => "Pinterest",
|
||||
"cara" => "Cara",
|
||||
"flickr" => "Flickr",
|
||||
"pexels" => "Pexels",
|
||||
"pixabay" => "Pixabay",
|
||||
|
|
|
|||
|
|
@ -919,8 +919,8 @@ class baidu{
|
|||
$description =
|
||||
$this->fuckhtml
|
||||
->getElementsByAttributeValue(
|
||||
"data-sanssr-cmpt",
|
||||
"card/www-summary-1",
|
||||
"data-module",
|
||||
"abstract",
|
||||
$div
|
||||
);
|
||||
|
||||
|
|
|
|||
847
scraper/cara.php
847
scraper/cara.php
|
|
@ -1,847 +0,0 @@
|
|||
<?php
|
||||
|
||||
class cara{
|
||||
|
||||
public function __construct(){
|
||||
|
||||
include "lib/backend.php";
|
||||
$this->backend = new backend("cara");
|
||||
}
|
||||
|
||||
public function getfilters($page){
|
||||
|
||||
return [
|
||||
"sort" => [
|
||||
"display" => "Sort by",
|
||||
"option" => [
|
||||
"Top" => "Top",
|
||||
"MostRecent" => "Most Recent"
|
||||
]
|
||||
],
|
||||
"type" => [
|
||||
"display" => "Post type",
|
||||
"option" => [
|
||||
"any" => "Any type",
|
||||
"portfolio" => "Portfolio", // {"posts":["portfolio"]}
|
||||
"timeline" => "Timeline" // {"posts":["timeline"]}
|
||||
]
|
||||
],
|
||||
"fields" => [
|
||||
"display" => "Field/Medium",
|
||||
"option" => [
|
||||
"any" => "Any field",
|
||||
"2D" => "2D Work",
|
||||
"3D" => "3D Work",
|
||||
"3DPrinting" => "3D Printing",
|
||||
"Acrylic" => "Acrylic",
|
||||
"AlcoholMarkers" => "Alcohol Markers",
|
||||
"Animation" => "Animation",
|
||||
"Chalk" => "Chalk",
|
||||
"Charcoal" => "Charcoal",
|
||||
"Colored pencil" => "Colored pencil",
|
||||
"Conte" => "Conte",
|
||||
"Crayon" => "Crayon",
|
||||
"Digital" => "Digital",
|
||||
"Gouache" => "Gouache",
|
||||
"Ink" => "Ink",
|
||||
"MixedMedia" => "Mixed-Media",
|
||||
"Oil" => "Oil",
|
||||
"Oil-based Markers" => "Oil-based Markers",
|
||||
"Other" => "Other",
|
||||
"Pastels" => "Pastels",
|
||||
"Photography" => "Photography",
|
||||
"Sculpture" => "Sculpture",
|
||||
"Sketches" => "Sketches",
|
||||
"Tattoos" => "Tattoos",
|
||||
"Traditional" => "Traditional",
|
||||
"VFX" => "VFX",
|
||||
"Watercolor" => "Watercolor"
|
||||
]
|
||||
],
|
||||
"category" => [
|
||||
"display" => "Category",
|
||||
"option" => [
|
||||
"any" => "Any category",
|
||||
"3DScanning" => "3D Scanning",
|
||||
"Abstract" => "Abstract",
|
||||
"Adoptable" => "Adoptable",
|
||||
"Anatomy" => "Anatomy",
|
||||
"Animals" => "Animals",
|
||||
"Anime" => "Anime",
|
||||
"App" => "App",
|
||||
"ArchitecturalConcepts" => "Architectural Concepts",
|
||||
"ArchitecturalVisualization" => "Architectural Visualization",
|
||||
"AugmentedReality" => "Augmented Reality",
|
||||
"Automotive" => "Automotive",
|
||||
"BoardGameArt" => "Board Game Art",
|
||||
"BookIllustration" => "Book Illustration",
|
||||
"CardGameArt" => "Card Game Art",
|
||||
"CeramicsPottery" => "Ceramics/Pottery",
|
||||
"CharacterAnimation" => "Character Animation",
|
||||
"CharacterDesign" => "Character Design",
|
||||
"CharacterModeling" => "Character Modeling",
|
||||
"ChildrensArt" => "Children's Illustration",
|
||||
"Collectibles" => "Collectibles",
|
||||
"ColoringPage" => "Coloring Page",
|
||||
"ComicArt" => "Comic Art",
|
||||
"ConceptArt" => "Concept Art",
|
||||
"Cosplay" => "Cosplay",
|
||||
"CostumeDesign" => "Costume Design",
|
||||
"CoverArt" => "Cover Art",
|
||||
"Creatures" => "Creatures",
|
||||
"Diorama" => "Diorama",
|
||||
"EditorialIllustration" => "Editorial Illustration",
|
||||
"EmbroiderySewing" => "Embroidery/Sewing",
|
||||
"EnvironmentalConceptArt" => "Environmental Concept Art",
|
||||
"EnvironmentalConceptDesign" => "Environmental Concept Design",
|
||||
"FanArt" => "Fan Art",
|
||||
"Fantasy" => "Fantasy",
|
||||
"Fashion" => "Fashion",
|
||||
"FashionStyling" => "Fashion Styling",
|
||||
"FiberArts" => "Fiber Arts",
|
||||
"Furry" => "Furry",
|
||||
"GameArt" => "Game Art",
|
||||
"GameplayDesign" => "Gameplay Design",
|
||||
"GamesEnvironmentArt" => "Games Environment Art",
|
||||
"Gem" => "Gem",
|
||||
"GraphicDesign" => "Graphic Design",
|
||||
"Handicraft" => "Handicraft",
|
||||
"HairStyling" => "Hair Styling",
|
||||
"HardSurface" => "Hard Surface",
|
||||
"Horror" => "Horror",
|
||||
"Illustration" => "Illustration",
|
||||
"IllustrationVisualization" => "Illustration Visualization",
|
||||
"IndustrialDesign" => "Industrial Design",
|
||||
"Jewelry" => "Jewelry",
|
||||
"KnittingCrochet" => "Knitting/Crochet",
|
||||
"Landscape" => "Landscape",
|
||||
"LevelDesign" => "Level Design",
|
||||
"Lighting" => "Lighting",
|
||||
"Makeup" => "Makeup",
|
||||
"Manga" => "Manga",
|
||||
"MapsCartography" => "Maps/Cartography",
|
||||
"MattePainting" => "Matte Painting",
|
||||
"Materials" => "Materials",
|
||||
"MechanicalDesign" => "Mechanical Design",
|
||||
"Medical" => "Medical",
|
||||
"Mecha" => "Mecha",
|
||||
"MiniatureArt" => "Miniature Art",
|
||||
"MotionGraphics" => "Motion Graphics",
|
||||
"FrescoMurals" => "Fresco/Murals",
|
||||
"Natural" => "Natural",
|
||||
"Original Character" => "Original Character",
|
||||
"Overlay" => "Overlay",
|
||||
"PleinAir" => "Plein Air",
|
||||
"Photogrammetry" => "Photogrammetry",
|
||||
"PixelArt" => "Pixel Art",
|
||||
"Portraits" => "Portraits",
|
||||
"Props" => "Props",
|
||||
"ProductDesign" => "Product Design",
|
||||
"PublicDomain" => "Public Domain or Royalty Free",
|
||||
"Real-Time3DEnvironmentArt" => "Real-Time 3D Environment Art",
|
||||
"Realism" => "Realism",
|
||||
"ScienceFiction" => "Science Fiction",
|
||||
"ScientificVisualization" => "Scientific Visualization",
|
||||
"Scripts" => "Scripts",
|
||||
"StillLife" => "Still Life",
|
||||
"Storyboards" => "Storyboards",
|
||||
"Stylized" => "Stylized",
|
||||
"Surreal" => "Surreal",
|
||||
"TechnicalArt" => "Technical Art",
|
||||
"Textures" => "Textures",
|
||||
"Tools" => "Tools",
|
||||
"Toys" => "Toys",
|
||||
"ToyPackaging" => "Toy Packaging",
|
||||
"Tutorials" => "Tutorials",
|
||||
"UIArt" => "User Interface (UI) Art",
|
||||
"UrbanSketch" => "Urban Sketch",
|
||||
"VFXforAnimation" => "VFX for Animation",
|
||||
"VFXforFilm" => "VFX for Film",
|
||||
"VFXforGames" => "VFX for Games",
|
||||
"VFXforRealTime" => "VFX for Real-Time",
|
||||
"VFXforTV" => "VFX for TV",
|
||||
"Vehicles" => "Vehicles",
|
||||
"VirtualReality" => "Virtual Reality",
|
||||
"VisualDevelopment" => "Visual Development",
|
||||
"VoxelArt" => "Voxel Art",
|
||||
"Vtubers" => "Vtubers",
|
||||
"WIP" => "WIP (Work in Progress)",
|
||||
"Web" => "Web",
|
||||
"Weapons" => "Weapons",
|
||||
"Wildlife" => "Wildlife",
|
||||
"Woodcutting" => "Woodcutting"
|
||||
]
|
||||
],
|
||||
"software" => [
|
||||
"display" => "Software",
|
||||
"option" => [
|
||||
"any" => "Any software",
|
||||
"123D" => "123D",
|
||||
"123DCatch" => "123D Catch",
|
||||
"3DBee" => "3DBee",
|
||||
"3DCoat" => "3DCoat",
|
||||
"3DCoatPrint" => "3DCoatPrint",
|
||||
"3DCoatTextura" => "3DCoatTextura",
|
||||
"3DEqualizer" => "3DEqualizer",
|
||||
"3DFZephyr" => "3DF Zephyr",
|
||||
"3Delight" => "3Delight",
|
||||
"3dpeople" => "3dpeople",
|
||||
"3dsMax" => "3ds Max",
|
||||
"3DSPaint" => "3DS Paint",
|
||||
"ACDSeeCanvas" => "ACDSee Canvas",
|
||||
"AbletonLive" => "Ableton Live",
|
||||
"Acrobat" => "Acrobat",
|
||||
"AdobeDraw" => "Adobe Draw",
|
||||
"AdobeFlash" => "Adobe Flash",
|
||||
"AdobeFresco" => "Adobe Fresco",
|
||||
"AdobeSubstance3Dassets" => "Adobe Substance 3D assets",
|
||||
"AdobeXD" => "Adobe XD",
|
||||
"AffinityDesigner" => "Affinity Designer",
|
||||
"AffinityPhoto" => "Affinity Photo",
|
||||
"AfterEffects" => "After Effects",
|
||||
"Akeytsu" => "Akeytsu",
|
||||
"Alchemy" => "Alchemy",
|
||||
"AliasDesign" => "Alias Design",
|
||||
"AlightMotion" => "Alight Motion",
|
||||
"Amadine" => "Amadine",
|
||||
"Amberlight" => "Amberlight",
|
||||
"Animate" => "Animate",
|
||||
"AnimationMaster" => "Animation:Master",
|
||||
"AnimeStudio" => "Anime Studio",
|
||||
"Apophysis" => "Apophysis",
|
||||
"ArchiCAD" => "ArchiCAD",
|
||||
"Arion" => "Arion",
|
||||
"ArionFX" => "ArionFX",
|
||||
"Arnold" => "Arnold",
|
||||
"ArtEngine" => "ArtEngine",
|
||||
"ArtFlow" => "ArtFlow",
|
||||
"ArtRage" => "ArtRage",
|
||||
"ArtstudioPro" => "Artstudio Pro",
|
||||
"Artweaver" => "Artweaver",
|
||||
"Aseprite" => "Aseprite",
|
||||
"Audition" => "Audition",
|
||||
"AutoCAD" => "AutoCAD",
|
||||
"AutodeskSketchBook" => "Autodesk SketchBook",
|
||||
"AvidMediaComposer" => "Avid Media Composer",
|
||||
"AzPainter" => "AzPainter",
|
||||
"babylonjs" => "babylon.js",
|
||||
"BalsamiqMockup" => "Balsamiq Mockup",
|
||||
"Bforartists" => "Bforartists",
|
||||
"BlackInk" => "Black Ink",
|
||||
"BlackmagicDesignFusion" => "Blackmagic Design Fusion",
|
||||
"Blender" => "Blender",
|
||||
"Blender DeepPaint" => "Blender DeepPaint",
|
||||
"BlenderGreasePencil" => "Blender Grease Pencil",
|
||||
"Blockbench" => "Blockbench",
|
||||
"BodyPaint" => "BodyPaint",
|
||||
"Boxcutter" => "Boxcutter",
|
||||
"BraidMaker" => "Braid Maker",
|
||||
"BrickLinkStudio" => "BrickLink Studio",
|
||||
"Bridge" => "Bridge",
|
||||
"Brushifyio" => "Brushify.io",
|
||||
"C" => "C",
|
||||
"C#" => "C#",
|
||||
"C++" => "C++",
|
||||
"CACANi" => "CACANi",
|
||||
"CLIPSTUDIOPAINT" => "CLIP STUDIO PAINT",
|
||||
"CLO" => "CLO",
|
||||
"CRYENGINE" => "CRYENGINE",
|
||||
"Callipeg" => "Callipeg",
|
||||
"Canva" => "Canva",
|
||||
"CaptureOne" => "Capture One",
|
||||
"CartoonAnimator" => "Cartoon Animator",
|
||||
"Carveco" => "Carveco",
|
||||
"Cavalry" => "Cavalry",
|
||||
"Chaotica" => "Chaotica",
|
||||
"CharacterAnimator" => "Character Animator",
|
||||
"CharacterCreator" => "Character Creator",
|
||||
"Cinema4D" => "Cinema 4D",
|
||||
"ClarisseiFX" => "Clarisse iFX",
|
||||
"Coiffure" => "Coiffure",
|
||||
"ColorsLive" => "Colors Live",
|
||||
"Combustion" => "Combustion",
|
||||
"Construct2" => "Construct 2",
|
||||
"Core" => "Core",
|
||||
"CorelPainter" => "Corel Painter",
|
||||
"CorelDRAWGraphicsSuite" => "CorelDRAW Graphics Suite",
|
||||
"CoronaRenderer" => "Corona Renderer",
|
||||
"ProMotionNG" => "Cosmigo Pro Motion NG",
|
||||
"CrazyBump" => "CrazyBump",
|
||||
"Crocotile3D" => "Crocotile 3D",
|
||||
"Curvy3D" => "Curvy 3D",
|
||||
"Cycles4D" => "Cycles 4D",
|
||||
"Darkroom" => "Darkroom",
|
||||
"DAZStudio" => "DAZ Studio",
|
||||
"DDO" => "DDO",
|
||||
"DECIMA" => "DECIMA",
|
||||
"Darktable" => "Darktable",
|
||||
"DaVinciResolve" => "DaVinci Resolve",
|
||||
"Dimension" => "Dimension",
|
||||
"DragonBones" => "DragonBones",
|
||||
"Dragonframe" => "Dragonframe",
|
||||
"Drawpile" => "Drawpile",
|
||||
"Dreams" => "Dreams",
|
||||
"Dreamweaver" => "Dreamweaver",
|
||||
"DxOPhotoLab" => "DxO PhotoLab",
|
||||
"ECycles" => "E-Cycles",
|
||||
"EmberGen" => "EmberGen",
|
||||
"Encore" => "Encore",
|
||||
"Expresii" => "Expresii",
|
||||
"FStorm" => "FStorm",
|
||||
"FadeIn" => "FadeIn",
|
||||
"Feather3D" => "Feather 3D",
|
||||
"FiberShop" => "FiberShop",
|
||||
"Figma" => "Figma",
|
||||
"FilmoraWondershare" => "Filmora Wondershare",
|
||||
"FilterForge" => "Filter Forge",
|
||||
"FinalCutPro" => "Final Cut Pro",
|
||||
"FinalDraft" => "Final Draft",
|
||||
"finalRender" => "finalRender",
|
||||
"FireAlpaca" => "FireAlpaca",
|
||||
"Fireworks" => "Fireworks",
|
||||
"FlamePainter" => "Flame Painter",
|
||||
"Flash" => "Flash",
|
||||
"FlipaClip" => "FlipaClip",
|
||||
"FlipnoteStudio" => "Flipnote Studio",
|
||||
"Fluent" => "Fluent",
|
||||
"ForestPack" => "Forest Pack",
|
||||
"FormZ" => "Form-Z",
|
||||
"Fractorium" => "Fractorium",
|
||||
"FreeCAD" => "FreeCAD",
|
||||
"FreeHand" => "FreeHand",
|
||||
"Forger" => "Forger",
|
||||
"FrostbiteEngine" => "Frostbite Engine",
|
||||
"fSpy" => "fSpy",
|
||||
"FumeFX" => "FumeFX",
|
||||
"Fusion360" => "Fusion 360",
|
||||
"GIMP" => "GIMP",
|
||||
"GSCurveTools" => "GS CurveTools",
|
||||
"GSToolbox" => "GS Toolbox",
|
||||
"Gaea" => "Gaea",
|
||||
"GameTextures" => "Game Textures",
|
||||
"GameMakerStudio" => "GameMaker: Studio",
|
||||
"GarageFarmNET" => "GarageFarm.NET",
|
||||
"GeoGlyph" => "GeoGlyph",
|
||||
"GigapixelAl" => "Gigapixel Al",
|
||||
"Glaxnimate" => "Glaxnimate",
|
||||
"GnomePaint" => "Gnome Paint",
|
||||
"Godot" => "Godot",
|
||||
"Goxel" => "Goxel",
|
||||
"Graphite" => "Graphite",
|
||||
"Graswald" => "Graswald",
|
||||
"GravitySketch" => "Gravity Sketch",
|
||||
"GuerillaRender" => "GuerillaRender",
|
||||
"HDRLightStudio" => "HDR Light Studio",
|
||||
"HairStrandDesigner" => "Hair Strand Designer",
|
||||
"HairTGHairFur" => "HairTG - Hair & Fur",
|
||||
"HairTGSurfaceFeatherEdition" => "HairTG - Surface, Feather Edition",
|
||||
"HairTGSurfaceHairEdition" => "HairTG - Surface, Hair Edition",
|
||||
"Handplane" => "Handplane",
|
||||
"Hansoft" => "Hansoft",
|
||||
"HardOps" => "Hard Ops",
|
||||
"HardMesh" => "HardMesh",
|
||||
"Harmony" => "Harmony",
|
||||
"HeavypaintWebbypaint" => "Heavypaint/Webbypaint",
|
||||
"HelloPaint" => "HelloPaint",
|
||||
"HeliconFocus" => "Helicon Focus",
|
||||
"Hexels" => "Hexels",
|
||||
"HiPaint" => "HiPaint",
|
||||
"Houdini" => "Houdini",
|
||||
"HydraRenderer" => "Hydra Renderer",
|
||||
"iArtbook" => "iArtbook",
|
||||
"IbisPaint" => "ibisPaint",
|
||||
"Ideas" => "Ideas",
|
||||
"IllustStudio" => "Illust Studio",
|
||||
"Illustrator" => "Illustrator",
|
||||
"IllustratorDraw" => "Illustrator Draw",
|
||||
"InDesign" => "InDesign",
|
||||
"Inochi2D" => "Inochi2D",
|
||||
"InVision" => "InVision",
|
||||
"InVisionCraft" => "InVision Craft",
|
||||
"InfinitePainter" => "Infinite Painter",
|
||||
"Inkscape" => "Inkscape",
|
||||
"Inspirit" => "Inspirit",
|
||||
"InstaLOD" => "InstaLOD",
|
||||
"InstaMAT" => "InstaMAT",
|
||||
"InstantLightRealtimePBR" => "Instant Light Realtime PBR",
|
||||
"InstantMeshes" => "Instant Meshes",
|
||||
"InstantTerra" => "Instant Terra",
|
||||
"Inventor" => "Inventor",
|
||||
"Iray" => "Iray",
|
||||
"JWildfire" => "JWildfire",
|
||||
"Java" => "Java",
|
||||
"Jira" => "Jira",
|
||||
"JumpPaint" => "Jump Paint by MediBang",
|
||||
"JSPaint" => "JS Paint",
|
||||
"Katana" => "Katana",
|
||||
"Keyshot" => "Keyshot",
|
||||
"KidPix" => "Kid Pix",
|
||||
"KitBash3D" => "KitBash3D",
|
||||
"Knald" => "Knald",
|
||||
"Kodon" => "Kodon",
|
||||
"KolourPaint" => "KolourPaint",
|
||||
"Krakatoa" => "Krakatoa",
|
||||
"KRESKA" => "KRESKA",
|
||||
"Krita" => "Krita",
|
||||
"LensStudio" => "Lens Studio",
|
||||
"LibreSprite" => "LibreSprite",
|
||||
"LightWave3D" => "LightWave 3D",
|
||||
"Lightroom" => "Lightroom",
|
||||
"Linearity" => "Linearity",
|
||||
"LiquiGen" => "LiquiGen",
|
||||
"Live2DCubism" => "Live2D Cubism",
|
||||
"LookatmyHair" => "Look at my Hair",
|
||||
"Lotpixel" => "Lotpixel",
|
||||
"Lumion" => "Lumion",
|
||||
"LuxRender" => "LuxRender",
|
||||
"MacPaint" => "MacPaint",
|
||||
"MagicaCSG" => "MagicaCSG",
|
||||
"MagicaVoxel" => "MagicaVoxel",
|
||||
"Magma" => "Magma",
|
||||
"MakeHuman" => "MakeHuman",
|
||||
"Malmal" => "Malmal",
|
||||
"Mandelbulb3D" => "Mandelbulb 3D",
|
||||
"Mandelbulber" => "Mandelbulber",
|
||||
"MangaStudio" => "Manga Studio",
|
||||
"Mari" => "Mari",
|
||||
"MarmosetToolbag" => "Marmoset Toolbag",
|
||||
"MarvelousDesigner" => "Marvelous Designer",
|
||||
"MasterpieceStudioPro" => "Masterpiece Studio Pro",
|
||||
"MasterpieceVR" => "MasterpieceVR",
|
||||
"Maverick" => "Maverick",
|
||||
"MaxwellRender" => "Maxwell Render",
|
||||
"Maya" => "Maya",
|
||||
"MediBangPaint" => "MediBang Paint",
|
||||
"MediumbyAdobe" => "Medium by Adobe",
|
||||
"Megascans" => "Megascans",
|
||||
"mentalray" => "mental ray",
|
||||
"MeshLab" => "MeshLab",
|
||||
"Meshroom" => "Meshroom",
|
||||
"MetaHumanCreator" => "MetaHuman Creator",
|
||||
"Metashape" => "Metashape",
|
||||
"MightyBake" => "MightyBake",
|
||||
"MikuMikuDance" => "MikuMikuDance",
|
||||
"Minecraft" => "Minecraft",
|
||||
"Mischief" => "Mischief",
|
||||
"Mixamo" => "Mixamo",
|
||||
"Mixer" => "Mixer",
|
||||
"MoI3D" => "MoI3D",
|
||||
"Mocha" => "Mocha",
|
||||
"Modo" => "Modo",
|
||||
"Moho" => "Moho",
|
||||
"MotionBuilder" => "MotionBuilder",
|
||||
"Mudbox" => "Mudbox",
|
||||
"Muse" => "Muse",
|
||||
"MSPaint" => "MS Paint",
|
||||
"MyPaint" => "MyPaint",
|
||||
"NDO" => "NDO",
|
||||
"NX" => "NX",
|
||||
"NdotCAD" => "NdotCAD",
|
||||
"NintendoNotes" => "Nintendo Notes",
|
||||
"NomadSculpt" => "Nomad Sculpt",
|
||||
"Notability" => "Notability",
|
||||
"Nuke" => "Nuke",
|
||||
"Nvil" => "Nvil",
|
||||
"OctaneRender" => "Octane Render",
|
||||
"Omniverse" => "Omniverse",
|
||||
"OmniverseCreate" => "Omniverse Create",
|
||||
"ON1PhotoRAW" => "ON1 Photo RAW",
|
||||
"Open3DEngine" => "Open 3D Engine",
|
||||
"OpenCanvas" => "OpenCanvas",
|
||||
"OpenGL" => "OpenGL",
|
||||
"OpenToonz" => "OpenToonz",
|
||||
"Ornatrix" => "Ornatrix",
|
||||
"OsciRender" => "Osci-Render",
|
||||
"OurPaint" => "Our Paint",
|
||||
"PBRMAX" => "PBRMAX",
|
||||
"PFTrack" => "PFTrack",
|
||||
"PTGui" => "PTGui",
|
||||
"Paintbrush" => "Paintbrush",
|
||||
"PaintNET" => "Paint.NET",
|
||||
"PaintShopPro" => "PaintShop Pro",
|
||||
"PaintToolSAI" => "Paint Tool SAI",
|
||||
"PaintstormStudio" => "Paintstorm Studio",
|
||||
"Paper" => "Paper",
|
||||
"Pencil2D" => "Pencil2D",
|
||||
"Penpot" => "Penpot",
|
||||
"PhoenixFD" => "Phoenix FD",
|
||||
"Phonto" => "Phonto",
|
||||
"PhotoLab2" => "PhotoLab 2",
|
||||
"Photopea" => "Photopea",
|
||||
"Photoscan" => "Photoscan",
|
||||
"Photoshop" => "Photoshop",
|
||||
"PhotoshopElements" => "Photoshop Elements",
|
||||
"PicoCAD" => "picoCAD",
|
||||
"PicoCAD2" => "picoCAD 2",
|
||||
"Pinta" => "Pinta",
|
||||
"Piskel" => "Piskel",
|
||||
"Pixilart" => "Pixilart",
|
||||
"Pixelitor" => "Pixelitor",
|
||||
"Pixelmator" => "Pixelmator",
|
||||
"Pixelorama" => "Pixelorama",
|
||||
"PixivSketch" => "pixiv Sketch",
|
||||
"Pixquare" => "Pixquare",
|
||||
"PlantCatalog" => "PlantCatalog",
|
||||
"PlantFactory" => "PlantFactory",
|
||||
"Plasticity" => "Plasticity",
|
||||
"PNGtuberPlus" => "PNGtuber Plus",
|
||||
"Poliigon" => "Poliigon",
|
||||
"Polybrush" => "Polybrush",
|
||||
"PopcornFx" => "PopcornFx",
|
||||
"Poser" => "Poser",
|
||||
"Premiere" => "Premiere",
|
||||
"PremiereElements" => "Premiere Elements",
|
||||
"PresagisCreator" => "Presagis Creator",
|
||||
"ProTools" => "Pro Tools",
|
||||
"Procreate" => "Procreate",
|
||||
"ProcreateDreams" => "Procreate Dreams",
|
||||
"Producer" => "Producer",
|
||||
"PrometheanAI" => "Promethean AI",
|
||||
"PureRef" => "PureRef",
|
||||
"Python" => "Python",
|
||||
"PyxelEdit" => "PyxelEdit",
|
||||
"QuadRemesher" => "Quad Remesher",
|
||||
"QuarkXPress" => "QuarkXPress",
|
||||
"Qubicle" => "Qubicle",
|
||||
"Quill" => "Quill",
|
||||
"QuixelBridge" => "Quixel Bridge",
|
||||
"QuixelMegascans" => "Quixel Megascans",
|
||||
"QuixelMixer" => "Quixel Mixer",
|
||||
"QuixelSuite" => "Quixel Suite",
|
||||
"R3DSWrap" => "R3DS Wrap",
|
||||
"R3DSZWRAP" => "R3DS ZWRAP",
|
||||
"RDTextures" => "RD-Textures",
|
||||
"RailClone" => "RailClone",
|
||||
"RealFlow" => "RealFlow",
|
||||
"RealisticPaintStudio" => "Realistic Paint Studio",
|
||||
"RealityCapture" => "RealityCapture",
|
||||
"RealityScan" => "RealityScan",
|
||||
"RealtimeBoard" => "Realtime Board",
|
||||
"Rebelle" => "Rebelle",
|
||||
"Redshift" => "Redshift",
|
||||
"RenderMan" => "RenderMan",
|
||||
"RenderNetwork" => "Render Network",
|
||||
"Revit" => "Revit",
|
||||
"Rhino" => "Rhino",
|
||||
"Rhinoceros" => "Rhinoceros",
|
||||
"RizomUV" => "RizomUV",
|
||||
"RoughAnimator" => "Rough Animator",
|
||||
"SamsungNotes" => "Samsung Notes",
|
||||
"SamsungPENUP" => "Samsung PENUP",
|
||||
"ScansLibrary" => "ScansLibrary",
|
||||
"Scrivener" => "Scrivener",
|
||||
"Sculpt+" => "Sculpt+",
|
||||
"Sculptris" => "Sculptris",
|
||||
"ShaveandaHaircut" => "Shave and a Haircut",
|
||||
"ShiVa3D" => "ShiVa3D",
|
||||
"Shotgun" => "Shotgun",
|
||||
"Silo" => "Silo",
|
||||
"Silugen" => "Silugen",
|
||||
"Sketch" => "Sketch",
|
||||
"SketchApp" => "Sketch App",
|
||||
"SketchBookPro" => "SketchBook Pro",
|
||||
"SketchClub" => "SketchClub",
|
||||
"SketchUp" => "SketchUp",
|
||||
"Sketchable" => "Sketchable",
|
||||
"Sketchfab" => "Sketchfab",
|
||||
"Skyshop" => "Skyshop",
|
||||
"Snapseed" => "Snapseed",
|
||||
"Snowdrop" => "Snowdrop",
|
||||
"Softimage" => "Softimage",
|
||||
"SolidWorks" => "SolidWorks",
|
||||
"SonySketch" => "Sony Sketch",
|
||||
"Soundbooth" => "Soundbooth",
|
||||
"Source2" => "Source 2",
|
||||
"SourceControl" => "Source Control",
|
||||
"SourceFilmmaker" => "Source Filmmaker",
|
||||
"SpeedTree" => "SpeedTree",
|
||||
"Speedgrade" => "Speedgrade",
|
||||
"SpeedyPainter" => "SpeedyPainter",
|
||||
"Spine2D" => "Spine 2D",
|
||||
"Spriter" => "Spriter",
|
||||
"Stingray" => "Stingray",
|
||||
"Storyboarder" => "Storyboarder",
|
||||
"StoryboardPro" => "Storyboard Pro",
|
||||
"SublimeText" => "Sublime Text",
|
||||
"Substance3DDesigner" => "Substance 3D Designer",
|
||||
"Substance3DModeler" => "Substance 3D Modeler",
|
||||
"Substance3DPainter" => "Substance 3D Painter",
|
||||
"Substance3DSampler" => "Substance 3D Sampler",
|
||||
"Substance3DStager" => "Substance 3D Stager",
|
||||
"SubstanceB2M" => "Substance B2M",
|
||||
"SweetHome3D" => "Sweet Home 3D",
|
||||
"SynthEyes" => "SynthEyes",
|
||||
"TTools" => "TTools",
|
||||
"TVPaint" => "TVPaint",
|
||||
"TVPaintAnimation" => "TVPaint Animation",
|
||||
"TayasuiSketches" => "Tayasui Sketches",
|
||||
"TayasuiSketchesMobileApp" => "Tayasui Sketches Mobile App",
|
||||
"TayasuiSketchesPro" => "Tayasui Sketches Pro",
|
||||
"Terragen" => "Terragen",
|
||||
"Texturescom" => "Textures.com",
|
||||
"Texturingxyz" => "Texturingxyz",
|
||||
"TeyaConceptor" => "Teya Conceptor",
|
||||
"TheGrove3D" => "The Grove 3D",
|
||||
"TheaRender" => "Thea Render",
|
||||
"Threejs" => "Three.js",
|
||||
"Tiled" => "Tiled",
|
||||
"TiltBrush" => "Tilt Brush",
|
||||
"Tooll3" => "Tooll3",
|
||||
"ToonBoomHarmony" => "Toon Boom Harmony",
|
||||
"ToonBoomStudio" => "Toon Boom Studio",
|
||||
"ToonSquid" => "ToonSquid",
|
||||
"TopoGun" => "TopoGun",
|
||||
"TuxPaint" => "Tux Paint",
|
||||
"Tvori" => "Tvori",
|
||||
"Twinmotion" => "Twinmotion",
|
||||
"UNIGINEEngine" => "UNIGINE Engine",
|
||||
"UVLayout" => "UVLayout",
|
||||
"UltraFractal" => "Ultra Fractal",
|
||||
"uMake" => "uMake",
|
||||
"Unfold3D" => "Unfold 3D",
|
||||
"Unity" => "Unity",
|
||||
"UnrealEngine" => "Unreal Engine",
|
||||
"Vengi" => "vengi",
|
||||
"VRay" => "V-Ray",
|
||||
"VRED" => "VRED",
|
||||
"VTubeStudio" => "VTube Studio",
|
||||
"Vectary" => "Vectary",
|
||||
"VectorayGen" => "VectorayGen",
|
||||
"Vectorworks" => "Vectorworks",
|
||||
"VegasPro" => "Vegas Pro",
|
||||
"VisualDesigner3D" => "Visual Designer 3D",
|
||||
"VisualStudio" => "Visual Studio",
|
||||
"VRoidStudio" => "VRoid Studio",
|
||||
"Vue" => "Vue",
|
||||
"Vuforia" => "Vuforia",
|
||||
"WebGL" => "WebGL",
|
||||
"WhiteboardFox" => "Whiteboard Fox",
|
||||
"WickEditor" => "Wick Editor",
|
||||
"Wings3D" => "Wings 3D",
|
||||
"Word" => "Word",
|
||||
"WorldCreator" => "World Creator",
|
||||
"WorldMachine" => "World Machine",
|
||||
"XParticles" => "X-Particles",
|
||||
"Xfrog" => "Xfrog",
|
||||
"Xgen" => "Xgen",
|
||||
"xNormal" => "xNormal",
|
||||
"xTex" => "xTex",
|
||||
"XoliulShader" => "Xoliul Shader",
|
||||
"Yafaray" => "Yafaray",
|
||||
"Yeti" => "Yeti",
|
||||
"ZBrush" => "ZBrush",
|
||||
"ZBrushCore" => "ZBrushCore",
|
||||
"ZenBrush" => "Zen Brush"
|
||||
]
|
||||
]
|
||||
];
|
||||
}
|
||||
|
||||
private function get($proxy, $url, $get = [], $search){
|
||||
|
||||
$curlproc = curl_init();
|
||||
|
||||
if($get !== []){
|
||||
$get = http_build_query($get);
|
||||
$url .= "?" . $get;
|
||||
}
|
||||
|
||||
curl_setopt($curlproc, CURLOPT_URL, $url);
|
||||
|
||||
curl_setopt($curlproc, CURLOPT_ENCODING, ""); // default encoding
|
||||
curl_setopt($curlproc, CURLOPT_HTTPHEADER,
|
||||
["User-Agent: " . config::USER_AGENT,
|
||||
"Accept: application/json, text/plain, */*",
|
||||
"Accept-Language: en-US,en;q=0.5",
|
||||
"Accept-Encoding: gzip, deflate, br, zstd",
|
||||
//"sentry-trace: 72b0318a7141fe18cbacbd905572eddf-a60de161b66b1e6f-1
|
||||
//"baggage: sentry-environment=vercel-production,sentry-release=251ff5179b4de94974f36d9b8659a487bbb8a819,sentry-public_key=2b87af2b44c84643a011838ad097735f,sentry-trace_id=72b0318a7141fe18cbacbd905572eddf,sentry-transaction=GET%20%2Fsearch,sentry-sampled=true,sentry-sample_rand=0.09967130764937493,sentry-sample_rate=0.5",
|
||||
"DNT: 1",
|
||||
"Sec-GPC: 1",
|
||||
"Connection: keep-alive",
|
||||
//"Referer: https://cara.app/search?q=jak+and+daxter&type=&sortBy=Top&filters=%7B%7D",
|
||||
"Referer: https://cara.app/search?q=" . urlencode($search),
|
||||
//"Cookie: __Host-next-auth.csrf-token=b752c4296375bccb7b480ff010e1e916c65c35c311a4a57ac6cd871468730578%7C4d3783cfb72a98f390e534abd149806432b6cf8d50555a52d00e99216a516911; __Secure-next-auth.callback-url=https%3A%2F%2Fcara.app; crumb=BV0HDt87G5+fOWE0ZDQ5MWM0ZTQ3YTZmMzM4MGU5MGNjNDNmMzY2",
|
||||
"Sec-Fetch-Dest: empty",
|
||||
"Sec-Fetch-Mode: cors",
|
||||
"Sec-Fetch-Site: same-origin",
|
||||
"TE: trailers"]
|
||||
);
|
||||
|
||||
curl_setopt($curlproc, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt($curlproc, CURLOPT_SSL_VERIFYHOST, 2);
|
||||
curl_setopt($curlproc, CURLOPT_SSL_VERIFYPEER, true);
|
||||
curl_setopt($curlproc, CURLOPT_CONNECTTIMEOUT, 30);
|
||||
curl_setopt($curlproc, CURLOPT_TIMEOUT, 30);
|
||||
|
||||
$this->backend->assign_proxy($curlproc, $proxy);
|
||||
|
||||
$data = curl_exec($curlproc);
|
||||
|
||||
if(curl_errno($curlproc)){
|
||||
|
||||
throw new Exception(curl_error($curlproc));
|
||||
}
|
||||
|
||||
curl_close($curlproc);
|
||||
return $data;
|
||||
}
|
||||
|
||||
public function image($get){
|
||||
|
||||
if($get["npt"]){
|
||||
|
||||
[$npt, $proxy] =
|
||||
$this->backend->get(
|
||||
$get["npt"],
|
||||
"images"
|
||||
);
|
||||
|
||||
$npt = json_decode($npt, true);
|
||||
}else{
|
||||
|
||||
$search = $get["s"];
|
||||
if(strlen($search) === 0){
|
||||
|
||||
throw new Exception("Search term is empty!");
|
||||
}
|
||||
|
||||
$proxy = $this->backend->get_ip();
|
||||
|
||||
$npt = [
|
||||
"q" => $get["s"],
|
||||
"sortBy" => $get["sort"],
|
||||
"take" => 24,
|
||||
"skip" => 0,
|
||||
"filters" => []
|
||||
];
|
||||
|
||||
// parse filters
|
||||
if($get["type"] != "any"){
|
||||
|
||||
$npt["filters"]["posts"] = [$get["type"]];
|
||||
}
|
||||
|
||||
if($get["fields"] != "any"){
|
||||
|
||||
$npt["filters"]["fields"] = [$get["fields"]];
|
||||
}
|
||||
|
||||
if($get["category"] != "any"){
|
||||
|
||||
$npt["filters"]["categories"] = [$get["category"]];
|
||||
}
|
||||
|
||||
if($get["software"] != "any"){
|
||||
|
||||
$npt["filters"]["softwares"] = [$get["software"]];
|
||||
}
|
||||
|
||||
if($npt["filters"] == []){
|
||||
|
||||
$npt["filters"] = "{}";
|
||||
}else{
|
||||
|
||||
$npt["filters"] = json_encode($npt["filters"]);
|
||||
}
|
||||
}
|
||||
|
||||
$out = [
|
||||
"status" => "ok",
|
||||
"npt" => null,
|
||||
"image" => []
|
||||
];
|
||||
|
||||
// https://cara.app/api/search/portfolio-posts?q=jak+and+daxter&sortBy=Top&take=24&skip=0&filters=%7B%7D
|
||||
try{
|
||||
$json =
|
||||
$this->get(
|
||||
$proxy,
|
||||
"https://cara.app/api/search/posts",
|
||||
$npt,
|
||||
$npt["q"]
|
||||
);
|
||||
|
||||
}catch(Exception $error){
|
||||
|
||||
throw new Exception("Failed to fetch JSON");
|
||||
}
|
||||
|
||||
$json = json_decode($json, true);
|
||||
|
||||
if($json === null){
|
||||
|
||||
throw new Exception("Failed to decode JSON");
|
||||
}
|
||||
|
||||
$imagecount = 0;
|
||||
foreach($json as $image){
|
||||
|
||||
if(count($image["images"]) === 0){
|
||||
|
||||
// sometimes the api returns no images for an object
|
||||
$imagecount++;
|
||||
continue;
|
||||
}
|
||||
|
||||
$cover = null;
|
||||
$sources = [];
|
||||
|
||||
foreach($image["images"] as $source){
|
||||
|
||||
if($source["isCoverImg"]){
|
||||
|
||||
$cover = [
|
||||
"url" => "https://images.cara.app/" . $this->fix_url($source["src"]),
|
||||
"width" => 500,
|
||||
"height" => 500
|
||||
];
|
||||
}else{
|
||||
|
||||
$sources[] = [
|
||||
"url" => "https://images.cara.app/" . $this->fix_url($source["src"]),
|
||||
"width" => null,
|
||||
"height" => null
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
if($cover !== null){
|
||||
|
||||
$sources[] = $cover;
|
||||
}
|
||||
|
||||
$out["image"][] = [
|
||||
"title" => str_replace("\n", " ", $image["content"]),
|
||||
"source" => $sources,
|
||||
"url" => "https://cara.app/post/" . $image["id"]
|
||||
];
|
||||
|
||||
$imagecount++;
|
||||
}
|
||||
|
||||
if($imagecount === 24){
|
||||
|
||||
$npt["skip"] += 24;
|
||||
|
||||
$out["npt"] =
|
||||
$this->backend->store(
|
||||
json_encode($npt),
|
||||
"images",
|
||||
$proxy
|
||||
);
|
||||
}
|
||||
|
||||
return $out;
|
||||
}
|
||||
|
||||
private function fix_url($url){
|
||||
|
||||
return
|
||||
str_replace(
|
||||
[" "],
|
||||
["%20"],
|
||||
$url
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
@ -1581,8 +1581,7 @@ class google{
|
|||
implode(",", $tbs);
|
||||
}
|
||||
}
|
||||
|
||||
//$html = file_get_contents("scraper/google.html");
|
||||
|
||||
$data = $this->get(
|
||||
$proxy,
|
||||
"https://www.google.com/search",
|
||||
|
|
@ -1593,6 +1592,8 @@ class google{
|
|||
$html = &$data["data"];
|
||||
$container = &$data["container"];
|
||||
|
||||
//$html = file_get_contents("scraper/google.html");
|
||||
|
||||
if(!isset($params["start"])){
|
||||
|
||||
$params["start"] = 0;
|
||||
|
|
@ -1635,6 +1636,29 @@ class google{
|
|||
|
||||
$params["c"] = $container;
|
||||
|
||||
// get encoded links
|
||||
$encoded_links =
|
||||
explode(
|
||||
"function(){var m={",
|
||||
$html,
|
||||
2
|
||||
);
|
||||
|
||||
if(count($encoded_links) === 2){
|
||||
|
||||
$encoded_links =
|
||||
json_decode(
|
||||
$this->fuckhtml
|
||||
->extract_json(
|
||||
"{" . $encoded_links[1]
|
||||
),
|
||||
true
|
||||
);
|
||||
}else{
|
||||
|
||||
$encoded_links = [];
|
||||
}
|
||||
|
||||
$out = [
|
||||
"status" => "ok",
|
||||
"npt" =>
|
||||
|
|
@ -1813,6 +1837,50 @@ class google{
|
|||
}
|
||||
}
|
||||
|
||||
$url =
|
||||
$this->fuckhtml
|
||||
->getTextContent(
|
||||
$url[0]["attributes"]["href"]
|
||||
);
|
||||
|
||||
if(
|
||||
preg_match(
|
||||
'/^\/goto\?url/',
|
||||
$url
|
||||
)
|
||||
){
|
||||
|
||||
// encrypted url detected
|
||||
// get reference div
|
||||
$refdivs =
|
||||
$this->fuckhtml
|
||||
->getElementsByAttributeName(
|
||||
"id",
|
||||
"div"
|
||||
);
|
||||
|
||||
foreach($refdivs as $r){
|
||||
|
||||
if(
|
||||
preg_match(
|
||||
'/^atritem-/',
|
||||
$r["attributes"]["id"]
|
||||
) &&
|
||||
isset($r["attributes"]["jsdata"])
|
||||
){
|
||||
|
||||
$ref = explode(";", $r["attributes"]["jsdata"]);
|
||||
$ref = $ref[count($ref) - 1];
|
||||
|
||||
if(isset($encoded_links[$ref][32][11][7])){
|
||||
|
||||
$url = $encoded_links[$ref][32][11][7];
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$out["video"][] = [
|
||||
"title" =>
|
||||
$this->titledots(
|
||||
|
|
@ -1831,11 +1899,7 @@ class google{
|
|||
"duration" => $duration,
|
||||
"views" => null,
|
||||
"thumb" => $thumb,
|
||||
"url" =>
|
||||
$this->fuckhtml
|
||||
->getTextContent(
|
||||
$url[0]["attributes"]["href"]
|
||||
)
|
||||
"url" => $url
|
||||
];
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -141,10 +141,6 @@ $settings = [
|
|||
"value" => "startpage",
|
||||
"text" => "Startpage"
|
||||
],
|
||||
[
|
||||
"value" => "ghostery",
|
||||
"text" => "Ghostery"
|
||||
],
|
||||
[
|
||||
"value" => "yep",
|
||||
"text" => "Yep"
|
||||
|
|
@ -239,10 +235,6 @@ $settings = [
|
|||
"value" => "pinterest",
|
||||
"text" => "Pinterest"
|
||||
],
|
||||
[
|
||||
"value" => "cara",
|
||||
"text" => "Cara"
|
||||
],
|
||||
[
|
||||
"value" => "flickr",
|
||||
"text" => "Flickr"
|
||||
|
|
|
|||
Loading…
Reference in a new issue