Compare commits

..

No commits in common. "853b74d7595d396e169b7358bf1661f0f9f912b9" and "9012ea59775a7e6e465c9b68414f1a8f3d60e80b" have entirely different histories.

10 changed files with 73 additions and 67 deletions

View file

@ -1,6 +1,9 @@
node_modules node_modules
.env /.env
.git /.git
.vscode /.vscode
vendor /vendor
cache /cache/latte/*
!/cache/latte/.gitkeep
/cache/api/*
!/cache/api/.gitkeep

View file

@ -42,9 +42,9 @@ jobs:
# https://github.com/sigstore/cosign-installer # https://github.com/sigstore/cosign-installer
- name: Install cosign - name: Install cosign
if: github.event_name != 'pull_request' if: github.event_name != 'pull_request'
uses: sigstore/cosign-installer@v3.1.1 uses: sigstore/cosign-installer@main
with: with:
cosign-release: 'v2.1.1' cosign-release: 'v2.0.0-rc.0'
# Workaround: https://github.com/docker/build-push-action/issues/461 # Workaround: https://github.com/docker/build-push-action/issues/461
@ -96,6 +96,7 @@ jobs:
- name: Sign the published Docker image - name: Sign the published Docker image
if: ${{ github.event_name != 'pull_request' }} if: ${{ github.event_name != 'pull_request' }}
env: env:
DIGEST: ${{ steps.build-and-push.outputs.digest }} COSIGN_EXPERIMENTAL: "true"
TAGS: ${{ steps.meta.outputs.tags }} # This step uses the identity token to provision an ephemeral certificate
run: cosign sign --yes "${TAGS}@${DIGEST}" # against the sigstore community Fulcio instance.
run: cosign sign ${{ steps.meta.outputs.tags }}@${{ steps.build-and-push.outputs.digest }}

View file

@ -1,22 +1,25 @@
FROM trafex/php-nginx:3.1.0 FROM php:8.1-apache
WORKDIR /var/www/html
# Add composer
COPY --from=composer /usr/bin/composer /usr/bin/composer COPY --from=composer /usr/bin/composer /usr/bin/composer
RUN apt update -y && apt upgrade -y \
&& apt install -y --no-install-recommends libzip-dev \
&& pecl install redis zip \
&& docker-php-ext-enable redis zip \
&& a2enmod rewrite headers \
&& mkdir /cache \
&& chown -R www-data:www-data /cache \
&& rm -rf /var/www/html/*
# Copy config # Copy project to /var/www/html
COPY ./misc/setup/docker/php.ini /etc/php81/conf.d/settings.ini COPY . .
USER root # Run composer and clean
# Create cache folder RUN composer update --no-cache \
RUN mkdir /cache && chown -R nobody:nogroup /cache && composer install --no-interaction --optimize-autoloader --no-dev --no-cache \
# Install deps && apt autoclean -y \
RUN apk add --no-cache php81-redis php81-zip php81-tokenizer && apt autoremove -y \
USER nobody && rm -rf /var/lib/apt/lists/* \
&& rm -rf /usr/bin/composer
# Copy source EXPOSE 80
COPY --chown=nobody . /var/www/html CMD apachectl -D FOREGROUND
# Dependencies
RUN composer install --no-interaction --optimize-autoloader --no-dev --no-cache
EXPOSE 8080

View file

@ -98,6 +98,12 @@ class Wrappers {
// Add URLs to video descriptions // Add URLs to video descriptions
// TODO: Make it work with unicode characters such as emojis // TODO: Make it work with unicode characters such as emojis
$latte->addFunction('render_desc', function (string $desc, array $textExtras = []): string { $latte->addFunction('render_desc', function (string $desc, array $textExtras = []): string {
$bytesCount = strlen($desc);
$charsCount = mb_strlen($desc);
// Skip urlify for now if there is a special char like an emoji to avoid issues
if ($bytesCount !== $charsCount) {
return $desc;
}
$sanitizedDesc = htmlspecialchars($desc); $sanitizedDesc = htmlspecialchars($desc);
$out = $sanitizedDesc; $out = $sanitizedDesc;
foreach ($textExtras as $extra) { foreach ($textExtras as $extra) {

View file

@ -1,7 +1,7 @@
{ {
"name": "pablouser1/proxitok", "name": "pablouser1/proxitok",
"description": "An alternative frontend for TikTok", "description": "An alternative frontend for TikTok",
"version": "2.4.9.2", "version": "2.4.9.1",
"license": "AGPL-3.0-or-later", "license": "AGPL-3.0-or-later",
"type": "project", "type": "project",
"authors": [ "authors": [
@ -23,8 +23,8 @@
"ext-mbstring": "*", "ext-mbstring": "*",
"latte/latte": "^2.11", "latte/latte": "^2.11",
"bramus/router": "^1.6", "bramus/router": "^1.6",
"pablouser1/tikscraper": "^2.3", "josegonzalez/dotenv": "dev-master",
"josegonzalez/dotenv": "^4.0" "pablouser1/tikscraper": "^2.3"
}, },
"autoload": { "autoload": {
"psr-4": { "psr-4": {

37
composer.lock generated
View file

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"content-hash": "f94f92790bfe52bdf38e6bd9ba80f40a", "content-hash": "790ea9098323ef66c520cfe44b92b7d3",
"packages": [ "packages": [
{ {
"name": "bramus/router", "name": "bramus/router",
@ -99,16 +99,16 @@
}, },
{ {
"name": "josegonzalez/dotenv", "name": "josegonzalez/dotenv",
"version": "4.0.0", "version": "dev-master",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/josegonzalez/php-dotenv.git", "url": "https://github.com/josegonzalez/php-dotenv.git",
"reference": "e97dbd3db53508dcd536e73ec787a7f11458d41d" "reference": "f6d2fb63610f98b7ae859031566228dbade1a79c"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/josegonzalez/php-dotenv/zipball/e97dbd3db53508dcd536e73ec787a7f11458d41d", "url": "https://api.github.com/repos/josegonzalez/php-dotenv/zipball/f6d2fb63610f98b7ae859031566228dbade1a79c",
"reference": "e97dbd3db53508dcd536e73ec787a7f11458d41d", "reference": "f6d2fb63610f98b7ae859031566228dbade1a79c",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -116,10 +116,11 @@
"php": ">=5.5.0" "php": ">=5.5.0"
}, },
"require-dev": { "require-dev": {
"php-coveralls/php-coveralls": "~2.0", "php-mock/php-mock-phpunit": "^1.1",
"php-mock/php-mock-phpunit": "~1.1||~2.0", "satooshi/php-coveralls": "1.*",
"squizlabs/php_codesniffer": "~2.9||~3.7" "squizlabs/php_codesniffer": "2.*"
}, },
"default-branch": true,
"type": "library", "type": "library",
"autoload": { "autoload": {
"psr-0": { "psr-0": {
@ -150,9 +151,9 @@
], ],
"support": { "support": {
"issues": "https://github.com/josegonzalez/php-dotenv/issues", "issues": "https://github.com/josegonzalez/php-dotenv/issues",
"source": "https://github.com/josegonzalez/php-dotenv/tree/4.0.0" "source": "https://github.com/josegonzalez/php-dotenv/tree/master"
}, },
"time": "2023-05-29T22:49:26+00:00" "time": "2019-07-07T21:21:39+00:00"
}, },
{ {
"name": "latte/latte", "name": "latte/latte",
@ -613,16 +614,16 @@
}, },
{ {
"name": "symfony/process", "name": "symfony/process",
"version": "v5.4.24", "version": "v5.4.22",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/process.git", "url": "https://github.com/symfony/process.git",
"reference": "e3c46cc5689c8782944274bb30702106ecbe3b64" "reference": "4b850da0cc3a2a9181c1ed407adbca4733dc839b"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/process/zipball/e3c46cc5689c8782944274bb30702106ecbe3b64", "url": "https://api.github.com/repos/symfony/process/zipball/4b850da0cc3a2a9181c1ed407adbca4733dc839b",
"reference": "e3c46cc5689c8782944274bb30702106ecbe3b64", "reference": "4b850da0cc3a2a9181c1ed407adbca4733dc839b",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -655,7 +656,7 @@
"description": "Executes commands in sub-processes", "description": "Executes commands in sub-processes",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/process/tree/v5.4.24" "source": "https://github.com/symfony/process/tree/v5.4.22"
}, },
"funding": [ "funding": [
{ {
@ -671,13 +672,15 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2023-05-17T11:26:05+00:00" "time": "2023-03-06T21:29:33+00:00"
} }
], ],
"packages-dev": [], "packages-dev": [],
"aliases": [], "aliases": [],
"minimum-stability": "stable", "minimum-stability": "stable",
"stability-flags": [], "stability-flags": {
"josegonzalez/dotenv": 20
},
"prefer-stable": false, "prefer-stable": false,
"prefer-lowest": false, "prefer-lowest": false,
"platform": { "platform": {

View file

@ -5,7 +5,7 @@ services:
container_name: proxitok-web container_name: proxitok-web
image: ghcr.io/pablouser1/proxitok:master image: ghcr.io/pablouser1/proxitok:master
# ports: # ports:
# - 8080:8080 # - 8080:80
environment: environment:
- LATTE_CACHE=/cache - LATTE_CACHE=/cache
- API_CACHE=redis - API_CACHE=redis
@ -64,7 +64,6 @@ services:
signer: signer:
container_name: proxitok-signer container_name: proxitok-signer
image: ghcr.io/pablouser1/signtok:master image: ghcr.io/pablouser1/signtok:master
init: true
networks: networks:
- proxitok - proxitok
user: nobody user: nobody

View file

@ -1,4 +0,0 @@
variables_order="EGPCS"
[Date]
date.timezone="UTC"
expose_php=Off

View file

@ -8,13 +8,7 @@
</figure> </figure>
<div class="media-content"> <div class="media-content">
<p> <p>
<strong> <strong>{$item->author->nickname}</strong>
{if $item->author->verified}
{include '../icon.latte', icon: 'check-o', text: $item->author->nickname}
{else}
{$item->author->nickname}
{/if}
</strong>
<small> <small>
<a href="{url_user($item->author->uniqueId)}">@{$item->author->uniqueId}</a> <a href="{url_user($item->author->uniqueId)}">@{$item->author->uniqueId}</a>
</small> </small>
@ -40,9 +34,10 @@
<div class="has-text-centered"> <div class="has-text-centered">
{embed '../details.latte', title: "Details"} {embed '../details.latte', title: "Details"}
{block content} {block content}
<p>Can duet: {bool_to_str(isset($item->duetEnabled) ? $item->duetEnabled : boolval($item->duetDisplay))}</p> <p>Is Ad: {bool_to_str($item->isAd)}
<p>Can stitch (add this video to other ones): {bool_to_str(isset($item->stitchEnabled) ? $item->stitchEnabled : boolval($item->stitchDisplay))}</p> <p>Can duet: {bool_to_str($item->duetEnabled)}</p>
<p>Can be shared: {bool_to_str(isset($item->shareEnabled) ? $item->shareEnabled : boolval($item->shareDisplay))} <p>Can stitch (add this video to other ones): {bool_to_str($item->stitchEnabled)}</p>
<p>Can be shared: {bool_to_str($item->shareEnabled)}
{/block} {/block}
{/embed} {/embed}
</div> </div>

View file

@ -12,9 +12,9 @@
</figure> </figure>
<p class="title"> <p class="title">
{if $info->detail->verified} {if $info->detail->verified}
{include '../components/icon.latte', icon: 'check-o', text: $info->detail->nickname} {include '../components/icon.latte', icon: 'check-o', text: $info->detail->uniqueId}
{else} {else}
{$info->detail->nickname} {$info->detail->uniqueId}
{/if} {/if}
</p> </p>
<p class="subtitle">{include '../components/rss.latte'}</p> <p class="subtitle">{include '../components/rss.latte'}</p>